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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

实验4队列子系统.docx

1、实验4队列子系统验证性实验4:队列子系统班级: H1001 学号: 09 姓名: 陆俊 实验日期: 2011.10.19、10.26 1实验目的(1)掌握队列的特点及其描述方法。(2)用链式结构实现一个队列。(3)掌握队列的各种基本操作。(4)掌握队列的简单应用程序。2实验内容(1)设计一个字符型的链队列。(2)编写队列的进队、出队、读队头元素、显示队列中全部元素程序。(3)设计一个输入限制性的双队列,要求:输入只能在一端进行,而输出可以选择从队头输出或队尾输出,全部选择完毕后能显示所选择的输出结果。设计一个选择式菜单,以菜单方式选择队列的各种基本操作。菜单形式如下: 队 列 子 系 统 *

2、* 1-进 队 * * 2-出 队 * * 3-读 队 头 元 素 * * 4-显 示 * * 5-双 队 列 * * 0-退 出 * *请选择菜单号(0-5):3实验程序#includetypedef struct queuenode int data; struct queuenode *next;QueueNode;typedef struct QueueNode *front,*rear;LinkQueue;void InQueue(LinkQueue *q) int x; QueueNode *p=new QueueNode; printf(ntt请输入一个整数:); scanf(%

3、d,&x); getchar(); p-data=x; p-next=NULL; if(q-front=NULL) q-front=p; else q-rear-next=p; q-rear=p; if(p) printf(ntt%d进队成功!,x);int OutQueue(LinkQueue *q,int *v) QueueNode *p; if(q-front=NULL) return 0; else p=q-front; *v=p-data; q-front=p-next; if(q-front=NULL) q-rear=NULL; delete p; return 1; void S

4、howQueue(LinkQueue *q) QueueNode *p=q-front; if(p=NULL) printf(ntt队列为空!n); else printf(ntt队列中的元素为:); while(p!=NULL) printf(%6d,p-data); p=p-next; printf(n); void ReadFront(LinkQueue *q) if(q=NULL|q-front=NULL) printf(ntt队列为空!没有对顶元素!n); else printf(ntt队首元素是:%4dn,q-front-data);#define QUEUEMAX 20int q

5、ueueQUEUEMAX;int front=-1;int rear=-1;void InQueue(int val) rear=(rear+)%QUEUEMAX; if(front=rear) printf(ntt队列已满!); else queuerear=val;int OutQueue_rear() int t; if(front=rear) return -1; t=queuerear-; if(rear0&front!=-1) rear=QUEUEMAX-1; return t;int OutQueue_front() int t; if(front=rear) return -1

6、; else t=queue+front; if(front=QUEUEMAX) front=0; return t;int DQ() int choice; int out5; int in5=5,4,3,2,1; int t,pos=0,i; for(i=0;i5;i+) InQueue(ini); printf(ntt初始数据顺序是:); for(i=0;i5;i+) printf(%d ,ini); printf(ntt 1-从头出队 2-从尾出队nn); while(front!=rear) printf(tt请输入选择(1 或 2):); scanf(%d,&choice); sw

7、itch(choice) case 1: t=OutQueue_front(); outpos+=t; break; case 2: t=OutQueue_rear(); outpos+=t; break; printf(ntt数据输出的顺序是:); for(i=0;ifront=q-rear=NULL; while(i) printf(n); printf(ntt 队 列 子 系 统 ); printf(ntt*); printf(ntt* 1-进 队 *); printf(ntt* 2-出 队 *); printf(ntt* 3-读 队 头 元 素 *); printf(ntt* 4-显

8、示 *); printf(ntt* 5-双 队 列 *); printf(ntt* 0-退 出 *); printf(ntt*); printf(ntt 请选择菜单号(0-5):); scanf(%c,&choice); getchar(); switch(choice) case 1: InQueue(q);break; case 2: if(OutQueue(q,&val)=0) printf(ntt队列为空!n); else printf(ntt出队元素为:%d,val); break; case 3: ReadFront(q); break; case 4: ShowQueue(q);

9、 break; case 5: DQ(); break; case 0: i=0; break; default:; if(choice=1|choice=2|choice=3|choice=4|choice=5) printf(nntt按【Enter】键继续,按任意键返回主菜单,n); w=getchar(); if(w!=xA) i=0; 4程序运行5实验小结这次的实验花了90分钟(两节课)的时间把程序代码打完运行了一遍,从完成时间上来说,要比上次实验的又快了点。这次的程序代码在第一次运行时提示出现了很多错误,然后我就一个个地都纠正了几次。除了提示只有一个错误的那个错误外,其他都是我漏打某些语句的单词造成的error,主要还是有点粗心啊!最后一个错误是DQ双列表上漏了加一个返回值,加上去就行了,而书上没有加。可能是新版的书有很多错误的原因吧,没注意就按着书上的代码打了下来,结果有了些错误。

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

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