2022年空白实验报告.docx
精选学习资料 - - - - - - - - - 个人收集整理 仅供参考学习数 据 结 构 实 验 报 告试验项目 链循环队列的基本运算专 业 信息治理与信息系统班 级 2022212104 学 号 09212264 姓 名郭洋2 0 1 0 年 1 2 月 3 0 日1. 问题描述通过对链循环队列进行一些基本操作,加深对队列只能从队头取从队尾入和先进先出这些特性的理解;对链循环队列进行初始化、入队列、出队列、判断队列空和猎取队头元素五种基本操作;要求用户挑选需要对循环队列进行的操作, 0:退出 1 :入队列 2 :出队列 3: 判定队列是否为空4: 取队列头元素;资料个人收集整理,勿做商业用途2. 算法描述(1)队列初始化: Init_Queueq 初始条件:队 q不存在;操作结果:构造了一个空队;(2)入队操作: In_Queueq,x 1 / 5 名师归纳总结 - - - - - - -第 1 页,共 5 页精选学习资料 - - - - - - - - - 个人收集整理 仅供参考学习初始条件:队 q存在;操作结果:对已存在的队列 q,在队尾插入一个元素 x,队发生变 化;(3)出队操作: Out_Queueq,x 初始条件:队 q存在且非空;操作结果:删除队头元素,并返回其值,队发生变化;(4)读队首元素: Read_Queueq,x 初始条件:队 q存在且非空;操作结果:读队首元素,并返回其值,队不变;(5)判队空操作: Empty_Queueq 初始条件:队 q存在;操作结果:如 q为空队就返回为 1,否就返回为 0;3. 代码typedefstruct queuenode DataType data; struct queuenode * next; QueueNode; typedefstruct QueueNode * front; QueueNode * rear; LinkQueue; int InitQueueLinkQueue *Q sizeofQueueNode; QueueNode *w; w=QueueNode*mallocw->data=NULL; Q->front=Q->rear=w; return 1; int QueueEmptyLinkQueue * Q if Q->front->data=NULL&&Q->rear->data=NULL return 1; elsereturn 0; void EnQueueLinkQueue *Q,DataType x QueueNode *w; w=QueueNode*mallocsizeofQueueNode; w->data=x; 2 / 5 名师归纳总结 - - - - - - -第 2 页,共 5 页精选学习资料 - - - - - - - - - ifQueueEmptyQ 个人收集整理仅供参考学习 Q->front=w; Q->rear=w; w->next=w; else w->next=Q->rear->next; Q->rear->next=w; Q->rear=w; void DeQueueLinkQueue *Q QueueNode *w; ifw=QueueNode*mallocsizeofQueueNode; QueueEmptyQ cout<<" 队列为空 " ; else w=Q->front; w->next=Q->front->next; cout<<w->data<<endl; Q->front=w->next; freew; void QueueFrontLinkQueue *Q if QueueEmptyQ cout<< " 队列为空 " ; else cout<<Q->front->data<<endl; int main LinkQueue *Q; QueueNode *w; char x; int flag=1; sizeofLinkQueue; Q=LinkQueue*malloc InitQueueQ; 3 / 5 名师归纳总结 - - - - - - -第 3 页,共 5 页精选学习资料 - - - - - - - - - whileflag.=0 个人收集整理仅供参考学习 cout<< "-请挑选需要的操作-" <<endl; 资料个人收集整理,勿做商业用途cout<< "0: 退出 1 :入队列 2 :出队列 3: 判定队列是否为空 4: 取队列头元素 " <<endl; 资料个人收集整理,勿做商业用途cin>>flag; switch flag case 0: break ; case 1: cout<<" 请输入要加入队列的元素" <<endl; cin>>x; EnQueueQ,x; break ; case 2: DeQueueQ; break ; case 3: break ; case 4: break ; : QueueFrontQ; defaultbreak ; 4. 试验总结虽然运用的丝毫不娴熟,但对链循环队列进行一些基本操作,加深了我对队列只能从队头取从队尾入和先进先出这些特性的懂得,在助教帮忙下,有很大的提高,期望自己会再接再厉!资料个人收集整理,勿做商业用途4 / 5 名师归纳总结 - - - - - - -第 4 页,共 5 页精选学习资料 - - - - - - - - - 个人收集整理 仅供参考学习作为北京邮电高校的特色活动, “ 书墨北邮 ” 秉承传承经典文化、吸取新奇元素的理念,本着“传承中华艺术珍宝、发扬艺术精神,给理工科见长的北邮注入一缕清爽的人文活力为目标,在北邮的老师和同学中,引起了剧烈的反响;资料个人收集整理,勿做商业用途5 / 5 名师归纳总结 - - - - - - -第 5 页,共 5 页