ImageVerifierCode 换一换
格式:DOCX , 页数:7 ,大小:89.49KB ,
资源ID:8013386      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8013386.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(队列的入队出队初始化操纵.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

队列的入队出队初始化操纵.docx

1、队列的入队出队初始化操纵实践考核题第一题设计报告书学生姓名XXX学生学号099XXX所在地区XXX提交日期(年/月)2014/6实践题目利用队列的结构解决实际问题需求分析置空函数:根据函数的形参,即传递进来的队列指针,调用它的首指针和尾 指针让两个指针相等,就把队列中的元素全部清空。入队函数:首先判断该队列是否已满,如果队列已满,就退出操作。否则, 执行入队操作的语句,由于是循环队列所以在移动尾指针时, 要把尾指针的位置取余运算(queue.rear=(queue.rear+1)%maxsize; ),然后把数据元素赋给尾指针(queue,dataqueue.rear=x;) 。出队函数:当有

2、数据元素要出队时,首先判断该队列是否为空,如果为空 时,元素出队列失败。否则,当队列不为空时,执行出队操作(queue.fro nt=(queue.fro nt+1)%maxsize; )返回数值 1,说明出队成功。判空函数:该函数是用来判断队列是否为空的,是被别的函数调用作为判 断条件用,若果为空的话就返回数值0,标志不能继续执行下面的语句。判断为 空的条件是:queue.rear=queue.fro nt ;如果为空返回值为1,否则返回值为 0。概要设计1)置空set null (queue ) 将队列queue 置成空队列调用setnull(queue)函数把队列queue的顶端指针和低

3、端指针指向同一块地址,这样就把队列置空。当队列中的数据元素不用或者必须要清楚的时候, 就必须调用该函数把队列中的数据清空才能在插入新的数据供用户操作使用。2)入队 enqueue ( queue , x ) 将元素 x 插入队歹U queue 的尾部调用函数enqueue(queue,x),通过移动首指针找到要入队的数据,直到把队 列的空间占满。有数据要进入队列时,调用该函数把数据元素 x插入到队列中,先判断队列是否已满让后才能把数据元素插入到队尾。3)出队dequeue ( queue ) 删除队列queue 的队头元素,函数返回被删除元素的值通过移动首指针把队首的指针往下移动一个地址,这样

4、就把一个元素数据 出队了。当要出队时,队列是从头指针开始一系列操作。 先判断该队列是否为空 队列,如果不是的话,在进行出队操作把头指针往上移一个地址, 这样就把数据出队了。4)判队列是否为空 EmptyQueue( queue ) 若队列que为空,函 数返回0 ,否则返回1判断队列的为空的条件是 (queue.rear=queue.fro nt )如果为空返回数值1,否则返回0。当出队操作时,需要判断队列是否为空,调用该函数。详细设计#i nclude 头文件/带头结点的循环链表表示队列#defi ne maxsize 10typedef structint datamaxsize;int

5、front;in t rear;queue;/初始化队列queue set nu ll(queue CQ)CQ.fro nt=0;CQ.rear=0; return CQ ;/判断队列是否为空int EmptyQueue(queue CQ)if(CQ.rear=CQ.fro nt) /队列为空,返回1 return 1;elsereturn 0;/入队列queue enq ueue(queue CQ,i nt x)if(CQ.rea r+1)%maxsize=CQ.fro nt)/队列空间已满prin tf(queue full);else/将尾指针后移CQ.rear=(CQ.rea 叶1)%

6、maxsize;/并显示尾指针位置prin tf(see what CQ.rear is :%dn,CQ.rear);/存入数据CQ.dataCQ.rear=x;return CQ;/返回修改后的队列/出队列queue dequeue(queue CQ)/判断队列是否为空if(EmptyQueue(CQ)prin tf(space queue n);else/记录将要清除的数据int x=CQ.data(CQ.fro nt+1)%maxsize;/头指针后移CQ.fro nt=(CQ.fro nt+1)%maxsize;/输出清除掉的数据printf(the deleted data %dn,

7、 x);return CQ;/主函数int main()queue que;int x;/调用置空函数que=set nu ll(que);):n);prin tf(please put the data (put 999 endfor(int i=0;i9;i+)循环调用入队函数sea nf(%d, &x);/限定结束符号if(x=999)prin tf(put data en d.n); break;elseque=e nq ueue(que,x);/清除队列头元素,并返回删除的数据que=dequeue(que);getch();return 0;调试分析调试使用的 Code : Blocks10.05情形一:put输入8, 9,4,5,15个数据后结束,可以看到数据输入结束提示信息(data end ),后面紧跟着是头指针后移前的第一个元素: 8情形二:一个数据也不输入,直接结束数据的录入,会看到空队列提示信息(spacequeue )。设计总结对于队列的操作首先需要把队列置空,然后插入数据元素,在插入元素时需要判断是否队列已满,在数据元素出队时 需要先对队列判断是否为空,如果为空时 结束程序继续执行,否则继续执行出队操作。通过关于队列的实践操作,重新巩固了关于队列使用的操作要求, 复习了关 于调用函数以及通过调用函数更改数值的算法。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1