队列子系统备课讲稿.doc

队列子系统备课讲稿.doc

ID:57238971

大小:56.50 KB

页数:12页

时间:2020-08-07

队列子系统备课讲稿.doc_第1页
队列子系统备课讲稿.doc_第2页
队列子系统备课讲稿.doc_第3页
队列子系统备课讲稿.doc_第4页
队列子系统备课讲稿.doc_第5页
资源描述:

《队列子系统备课讲稿.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、队列子系统精品文档电子信息学院实验报告书课程名:数据结构题目:队列子系统实验类别验证班级:BX1001学号:101003020141姓名:赵艳2011年10月11日收集于网络,如有侵权请联系管理员删除精品文档1、实验目的(1)掌握栈的特点及其描述方法;(2)用链式存储结构实现一个队列;(3)掌握队列的各种基本操作;(4)掌握队列的简单应用程序。2、实验内容(1)设计一个字符型的链队列。(2)编写进队、出队、读队头元素、显示队列中全部元素的程序。(3)设计一个输入限制性的双队列,要求:①输入只能在一端进行,而输出

2、可以选择从队头输出或队尾输出,全部选择完毕后能显示所选择的输出结果。②设计一个选择式菜单,以菜单方式选择队列的各种基本操作。菜单形式如下:队列子系统**********************************************1---------进队**2---------出队**3---------读队头元素**4---------显示**5---------双队列**0---------退出***********************************************请选择菜单

3、号(0—5):3、实验步骤和源程序(1)实验步骤收集于网络,如有侵权请联系管理员删除精品文档开始定义队列元素的类型,然后定义五个函数,分别是进队函数、出队函数、显示队列函数、读队首元素函数、从两端输出队列函数,最后是主函数对这几个函数的调用。进栈函数主要是开辟空间,构造新结点,并将新结点插入队尾。出栈是通过将队头结点从队列中断开,最后一个结点出队回收头结点来实现。读队头函数是通过断开队头结点,赋值于x带回主调函数来实现。从队尾出队和从队头出队过程相似,都是首先判断队是否为空,再使元素出队来实现的。主函数是运用p

4、rintf()创造一个选择菜单还有switch()选择语句以及对定义过的函数的调用来实现的。(1)源程序#includetypedefstructqueuenode{intdata;structqueuenode*next;}QueueNode;typedefstruct{QueueNode*front,*rear;}LinkQueue;voidInQueue(LinkQueue*q){intx;QueueNode*p=newQueueNode;printf("tt请键入一个整数:")

5、;scanf("%d",&x);getchar();p->data=x;收集于网络,如有侵权请联系管理员删除精品文档p->next=NULL;if(q->front==NULL)q->front=p;elseq->rear->next=p;q->rear=p;if(p)printf("tt%d进队成功!",x);}intOutQueue(LinkQueue*q,int*v){QueueNode*p;if(q->front==NULL)return0;else{p=q->front;*v=p->data;

6、q->front=p->next;if(q->front=NULL)q->rear=NULL;deletep;return1;}}voidShowQueue(LinkQueue*q){QueueNode*p=q->front;if(p==NULL)printf("tt队列为空!");收集于网络,如有侵权请联系管理员删除精品文档else{printf("tt队列中的元素为:");while(p!=NULL){printf("%6d",p->data);p=p->next;}printf("

7、");}}voidReadFront(LinkQueue*q){if(q==NULL

8、

9、q->front==NULL)printf("tt队列为空!没有队顶元素!");elseprintf("tt队首元素是:%4d",q->front->data);}#defineQUEUEMAX20intqueue[QUEUEMAX];intfront=-1;intrear=-1;voidInQueue(intval){rear=(rear++)%QUEUEMAX;if(front==rear)pri

10、ntf("tt队列已满!");elsequeue[rear]=val;}收集于网络,如有侵权请联系管理员删除精品文档intOutQueue_rear(){intt;if(front==rear)return-1;t=queue[rear--];if(rear<0&&front!=-1)rear=QUEUEMAX-1;returnt;}intOutQueue_front(){in

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。