![队列的入队出队初始化操作_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-1/31/29bb45cf-96a6-4e49-897a-9d70b8b320ef/29bb45cf-96a6-4e49-897a-9d70b8b320ef1.gif)
![队列的入队出队初始化操作_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-1/31/29bb45cf-96a6-4e49-897a-9d70b8b320ef/29bb45cf-96a6-4e49-897a-9d70b8b320ef2.gif)
![队列的入队出队初始化操作_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-1/31/29bb45cf-96a6-4e49-897a-9d70b8b320ef/29bb45cf-96a6-4e49-897a-9d70b8b320ef3.gif)
![队列的入队出队初始化操作_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-1/31/29bb45cf-96a6-4e49-897a-9d70b8b320ef/29bb45cf-96a6-4e49-897a-9d70b8b320ef4.gif)
![队列的入队出队初始化操作_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-1/31/29bb45cf-96a6-4e49-897a-9d70b8b320ef/29bb45cf-96a6-4e49-897a-9d70b8b320ef5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实践考核题第一题设计报告书学生姓名 XXX学生学号099XXX所在地区XXX提交日期(年/月)2014/6实践题目利用队列的结构解决实际问题 需求分析 置空函数:根据函数的形参,即传递进来的队列指针,调用它的首指针和尾指针让两个指针相等,就把队列中的元素全部清空。入队函数:首先判断该队列是否已满,如果队列已满,就退出操作。否则,执行入队操作的语句,由于是循环队列所以在移动尾指针时,要把尾指针的位置取余运算(queue.rear=(queue.rear+1)%maxsize;),然后把数据元素赋给尾指针(queue,dataqueue.rear=x;)。出队函数:
2、当有数据元素要出队时,首先判断该队列是否为空,如果为空时,元素出队列失败。否则,当队列不为空时,执行出队操作(queue.front=(queue.front+1)%maxsize;) 返回数值1,说明出队成功。判空函数:该函数是用来判断队列是否为空的,是被别的函数调用作为判断条件用,若果为空的话 就返回数值0,标志不能继续执行下面的语句。判断为空的条件是:queue.rear=queue.front;如果为空返回值为1,否则返回值为0。概要设计1) 置空 setnull ( queue ) 将队列 queue 置成空队列 调用setnull(queue)函数把队列queue的顶端指针和低端指
3、针指向同一块地址,这样就把队列置空。当队列中的数据元素不用或者必须要清楚的时候,就必须调用该函数把队列中的数据清空才能在插入新的数据供用户操作使用。2) 入队 enqueue ( queue , x ) 将元素 x 插入队列 queue 的尾部 调用函数enqueue(queue,x),通过移动首指针找到要入队的数据,直到把队列的空间占满。有数据要进入队列时,调用该函数把数据元素x插入到队列中,先判断队列是否已满让后才能把数据元素插入到队尾。3) 出队 dequeue ( queue ) 删除队列 queue 的队头元素,函数返回被删除元素的值 通过移动首指针把队首的指针往下移动一个地址,这样
4、就把一个元素数据出队了。当要出队时,队列是从头指针开始一系列操作。先判断该队列是否为空队列,如果不是的话,在进行出队操作把头指针往上移一个地址,这样就把数据出队了。4) 判队列是否为空 EmptyQueue( queue ) 若队列que为空,函数返回 0 ,否则返回 1 判断队列的为空的条件是(queue.rear=queue.front)如果为空返回数值1,否则返回0。当出队操作时,需要判断队列是否为空,调用该函数。 详细设计 #include<stdio.h>/头文件/带头结点的循环链表表示队列#define maxsize 10typedef struc
5、t int datamaxsize; int front; int rear;queue;/初始化队列queue setnull(queue CQ) CQ.front=0; CQ.rear=0; return CQ ;/判断队列是否为空int EmptyQueue(queue CQ) if(CQ.rear=CQ.front) /队列为空,返回1 return 1; else return 0;/入队列queue enqueue(queue CQ,int x) if(CQ.rear+1)%maxsize=CQ.front) /队列空间已满 printf("queue full"
6、;); else /将尾指针后移 CQ.rear=(CQ.rear+1)%maxsize; /并显示尾指针位置 printf("see what CQ.rear is :%dn",CQ.rear); /存入数据 CQ.dataCQ.rear=x; return CQ;/返回修改后的队列/出队列queue dequeue(queue CQ)/判断队列是否为空 if(EmptyQueue(CQ) printf("space queuen"); else /记录将要清除的数据 int x=CQ.data(CQ.front+1)%maxsize; /头指针后移
7、CQ.front=(CQ.front+1)%maxsize; /输出清除掉的数据 printf("the deleted data %dn", x); return CQ;/主函数int main() queue que; int x; /调用置空函数 que=setnull(que); printf("please put the data (put 999 end):n"); for(int i=0;i<9;i+) /循环调用入队函数 scanf("%d",&x); /限定结束符号 if(x=999) printf("put data end.n"); break; else que=enqueue(que,x); /清除队列头元素,并返回删除的数据 que=dequeue(que);getch(); return 0;调试分析调试使用的Code:Blocks10.05情形一:输入8,9,4,5,15个数据后结束,可以看到数据输入结束提示信息(put data end),后面紧跟着是头指针后移前的第一个元素:8情形二:一个数据也不输入,直接结束数据的录入,会看到空队列提示信息(space queue)。设计总结 对于队列的操作首先需要把队列置空,然后插
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版九年级数学上册21.2.4《因式分解法》听评课记录
- 人教版历史八年级上册(2017年新编)《第6课戊戌变法》(听课评课记录)
- 苏科版数学八年级上册听评课记录《4-3实数(1)》
- 新版华东师大版八年级数学下册《18.1平行四边形的性质2》听评课记录
- 苏科版数学七年级下册听评课记录12.2证明1
- 人教版部编历史七年级上册《第12课 汉武帝巩固大一统王朝》听课评课记录2
- 2022版新课标七年级上册道德与法治第五课交友的智慧第二课时网上交友新时空听课评课记录
- 创业糕点店创业计划书
- 专利技术许可证合同范本
- 厂房出租安全生产管理协议书范本
- 分享二手房中介公司的薪酬奖励制度
- 安徽省2022年中考道德与法治真题试卷(含答案)
- GB 4793-2024测量、控制和实验室用电气设备安全技术规范
- 项目人员管理方案
- 重大火灾隐患判定方法
- 挖掘机售后保养及维修服务协议(2024版)
- 2024年电工(高级技师)考前必刷必练题库500题(含真题、必会题)
- 2024年全国各地中考语文试题汇编:名著阅读
- 公司组织架构与管理体系制度
- 2024-2030年中国涂碳箔行业现状调查与投资策略分析研究报告
- 2024-2030年中国派对用品行业供需规模调研及发展趋势预测研究报告
评论
0/150
提交评论