数据结构实验报告队列.doc
《数据结构实验报告队列.doc》由会员分享,可在线阅读,更多相关《数据结构实验报告队列.doc(12页珍藏版)》请在三一办公上搜索。
1、数据结构实验报告题目:编制一个顺序队列的实现和运算的程序班级:11级网络工程姓名(学号):丁晓娟、杨梦莹、锁佩琳、张凤友、胡景林、倪华夏完成日期:2013.4.17一、 需求分析1、演示程序以用户和计算机的对话方式执行,即在计算机终端上显示“提示信息”之后,由用户在键盘上输入演示程序中的规定命令;相应的输入数据和运算显示在其后。2、程序执行命令包括:1)构造一个顺序队列2)对其进行插入元素3)对其进行删除元素4)对其取对头元素5)对其求队列的长度3、测试数据:可由使用者自己输入二、概要设计ADT Queue 数据对象:D=ai|aiElemSet,i=1,2,n,n=0数据关系:R=| ai-
2、1,aiD,i=2,n/约定其中a1端为队列头,an端为队列尾基本操作: InitQueue (&Q) 操作结果:构造一个空队列Q 。 DestroyQueue(&Q)初始条件:队列Q已存在。 操作结果:队列Q被销毁,不再存在。ClearQueue(&Q)初始条件:队列Q已存在。操作结果:将Q清为空队列。QueueEmpty(&Q)初始条件:队列Q已存在。操作结果:若Q为空队列,则返回TRUE,否则返回FALSE。QueueLength(&Q)初始条件:队列Q已存在。操作结果:返回Q的元素个数,即对列的长度。GetHead(Q,&e)初始条件:Q为非空队列。操作结果:用e返回Q的对头元素。En
3、Queue(&Q,e)初始条件:队列Q已存在。操作结果:插入元素e为新的队尾元素。DeQueue(&Q,&e)初始条件:Q为非空队列。操作结果:删除Q的对头元素,并用e返回其值。 ADT Queue三、详细设计#include#include#include#define maxqsize 100 /队列最大长度typedef int status;typedef int qelemtype;/顺序队列操作int t;/全称变量typedef struct qelemtype *base;/初始化的动态分配存储空间int front;/头指针,若队列不为空,指向队列头元素int rear;/尾
4、指针,若队列不为空,指向队列尾元素的下一个位置 squeue;int display(squeue &q)if(q.front=q.rear)printf(队为空);return 0;/判断队是否为空else printf(输出顺序队列的元素为:); for(int i=q.front;in;for(i=0;in;i+)printf(请输入%d个数据:,i+1); scanf(%d,&e);q.baseq.rear=e;q.rear=q.rear+1; display(q);return 1;int enqueue(squeue &q,qelemtype e)/插入元素e为Q的新的队尾元素 c
5、out输入要插入顺序队列的元素:e;if(q.rear+1)%maxqsize=q.front)return 0;/队列满q.baseq.rear=e;q.rear=q.rear+1;display(q);return 1;int dequeue(squeue &q,qelemtype &e)/若队列不为空,则删除Q的队头元素,用e返回其值,应返回OK;/否则返回ERRORif(q.front=q.rear)return 0;e=q.baseq.front;printf(删除队头元素为:%dn,e);q.front+;return 1;/循环队列操作typedef structqelemtyp
6、e *base;int front;int rear;sqqueue;void display(sqqueue &q)int i=q.front; /让i等于队头位置的值if(q.front=q.rear) printf(队列为空n!); elseprintf(输出队列的元素为: );while(i!=q.rear) printf(%d ,q.basei); i=(i+1)%maxqsize;printf(nn);status initqueue(sqqueue &q)q.base=(qelemtype *)malloc(maxqsize*sizeof(qelemtype);if(!q.bas
7、e)coutoverflowendl;q.front=q.rear=0;return 1;status enqueue(sqqueue &q,qelemtype e)/插入e为q的队尾元素if(q.rear+1)%maxqsize=q.front)return 0;/队列满cout输入插入的元素:e;q.baseq.rear=e;q.rear=(q.rear+1)%maxqsize;return 1;status creat_q(sqqueue &q)initqueue(q);qelemtype e;int n,i;if(q.rear+1)%maxqsize=q.front)cout队列已满e
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构实验报告 队列 数据结构 实验 报告
链接地址:https://www.31ppt.com/p-2396663.html