《2022年空白实验报告 .pdf》由会员分享,可在线阅读,更多相关《2022年空白实验报告 .pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、个人收集整理仅供参考学习1 / 5 数 据 结 构 实 验 报 告实验项目链循环队列的基本运算专业信息管理与信息系统班级2009212104 学号 09212264 姓名郭洋201 0 年1 2月30日1. 问题描述通过对链循环队列进行一些基本操作,加深对队列只能从队头取从队尾入和先进先出这些特性的理解。对链循环队列进行初始化、入队列、出队列、判断队列空和获取队头元素五种基本操作。要求用户选择需要对循环队列进行的操作, 0:退出 1 :入队列 2 :出队列 3: 判断队列是否为空4: 取队列头元素。资料个人收集整理,勿做商业用途2. 算法描述(1)队列初始化: Init_Queue(q) 初始
2、条件:队 q不存在。操作结果:构造了一个空队。(2)入队操作: In_Queue(q,x) 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 5 页个人收集整理仅供参考学习2 / 5 初始条件:队 q存在。操作结果:对已存在的队列q,在队尾插入一个元素 x,队发生变化。(3)出队操作: Out_Queue(q,x) 初始条件:队 q存在且非空。操作结果:删除队头元素,并返回其值,队发生变化。(4)读队首元素: Read_Queue(q,x) 初始条件:队 q存在且非空。操作结果:读队首元素,并返回其值,队不变。(5)判队空操作: Empt
3、y_Queue(q) 初始条件:队 q存在。操作结果:若 q为空队则返回为 1,否则返回为 0。3. 代码typedefstruct queuenode DataType data; struct queuenode * next; QueueNode; typedefstruct QueueNode * front; QueueNode * rear; LinkQueue; int InitQueue(LinkQueue *Q) QueueNode *w; w=(QueueNode*)malloc(sizeof(QueueNode); w-data=NULL; Q-front=Q-rear=
4、w; return 1; int QueueEmpty(LinkQueue * Q) if(Q-front-data=NULL&Q-rear-data=NULL)return 1; elsereturn 0; void EnQueue(LinkQueue *Q,DataType x) QueueNode *w; w=(QueueNode*)malloc(sizeof(QueueNode); w-data=x; 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 5 页个人收集整理仅供参考学习3 / 5 if(QueueEmpty(Q) Q-
5、front=w; Q-rear=w; w-next=w; else w-next=Q-rear-next; Q-rear-next=w; Q-rear=w; void DeQueue(LinkQueue *Q) QueueNode *w; w=(QueueNode*)malloc(sizeof(QueueNode); if(QueueEmpty(Q) coutfront; w-next=Q-front-next; coutdatafront=w-next; free(w); void QueueFront(LinkQueue *Q) if(QueueEmpty(Q) cout 队列为空 ; e
6、lse coutfront-dataendl; int main() LinkQueue *Q; QueueNode *w; char x; int flag=1; Q=(LinkQueue*)malloc(sizeof(LinkQueue); InitQueue(Q); 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 5 页个人收集整理仅供参考学习4 / 5 while(flag!=0) cout-请选择需要的操作-endl;资料个人收集整理,勿做商业用途cout0: 退出 1 :入队列 2 :出队列 3: 判断队列是否为空 4: 取
7、队列头元素 flag; switch(flag) case 0: break ; case 1: cout 请输入要加入队列的元素 x; EnQueue(Q,x); break ; case 2: DeQueue(Q); break ; case 3: break ; case 4: QueueFront(Q); break ; default: break ; 4. 实验总结虽然运用的丝毫不熟练,但对链循环队列进行一些基本操作,加深了我对队列只能从队头取从队尾入和先进先出这些特性的理解,在助教帮助下,有很大的提高,希望自己会再接再厉! !资料个人收集整理,勿做商业用途精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 5 页个人收集整理仅供参考学习5 / 5 作为北京邮电大学的特色活动, “ 书墨北邮 ” 秉承传承经典文化、吸收新鲜元素的理念,本着“ 传承中华艺术瑰宝、发扬艺术精神,给理工科见长的北邮注入一缕清新的人文活力为目标,在北邮的教师和同学中,引起了强烈的反响。资料个人收集整理,勿做商业用途精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 5 页
限制150内