实验八 队列(循环队列)的表示和实现

实验八 队列(循环队列)的表示和实现

ID:14839469

大小:117.00 KB

页数:7页

时间:2018-07-30

实验八  队列(循环队列)的表示和实现_第1页
实验八  队列(循环队列)的表示和实现_第2页
实验八  队列(循环队列)的表示和实现_第3页
实验八  队列(循环队列)的表示和实现_第4页
实验八  队列(循环队列)的表示和实现_第5页
资源描述:

《实验八 队列(循环队列)的表示和实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、浙江大学城市学院实验报告课程名称数据结构基础实验项目名称实验八队列(循环队列)的表示和实现学生姓名专业班级学号实验成绩指导老师(签名)日期20131114一.实验目的和要求1、掌握队列的存储结构及基本操作。2、掌握循环队列的设置及循环队列的各种基本操作的实现。3、通过具体的应用实例,进一步熟悉和掌握队列的实际应用。二.实验内容1、建立头文件SeqQueue.h,定义顺序存储的循环队列存储结构,并编写循环队列的各种基本操作实现函数。同时建立一个验证操作实现的主函数文件test3_2.cpp,编译并调试程序,直到

2、正确运行。2、选做:编写程序,实现舞伴问题。假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队,跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴,若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。要求设计一个函数voidpartner(),模拟上述舞伴配对问题。基本要求:1)由键盘输入数据,每对数据包括姓名和性别;2)输出结果包括配成舞伴的女士和男士的姓名,以及未配对者的队伍名称和队头者的姓名;3)要求利用SeqQueue.h中已实现的顺序循环队列的基本操作函数来实现。函数voidpar

3、tner()添加到文件test3_2.cpp中,在主函数中进行调用测试。3、填写实验报告,实验报告文件取名为report8.doc。4、上传实验报告文件report8.doc、源程序文件test3_2.cpp及SeqQueue.h到Ftp服务器上自己的文件夹下。三.函数的功能说明及算法思路(包括每个函数的功能说明,及一些重要函数的算法实现思路)voidInitQueue(Queue&Q)初始化队列,将队列置为空;voidEnQueue(Queue&Q,ElemTypeitem)通过输入队列名,和数据,将其插入

4、到队列中ElemTypeOutQueue(Queue&Q)通过输入队名对队列中元素进行删除ElemTypePeekQueue(Queue&Q)只取队首元素,不进行删除boolEmptyQueue(Queue&Q)通过判断front和rear是否相等,判断队列是否为空voidpartner(QueueQf,QueueQm)判断舞伴,如果两列队都为空,就不进入函数,否则从两列队各取出队首元素进行配对,若有剩余则输出剩余队的人;四.实验结果与分析(包括运行结果截图、结果分析等)五.心得体会(记录实验感受、上机过程中

5、遇到的困难及解决办法、遗留的问题、意见和建议等。)通过队列的编程,让我对队列有了更深的了解【附录----源程序】.cpp#include#include#includetypedefcharElemType;#include"SeqQueue.h"voidpartner(QueueQf,QueueQm);voidmain(){QueueQ1,Q2;InitQueue(Q1);cout<<"请输入几个字符,以#结束"<

6、>>ch;while(ch!='#'){EnQueue(Q1,ch);cin>>ch;}if(EmptyQueue(Q1))cout<<"该队为空!"<>ch;cin>>ch

7、1;while(ch!='#'&&ch1!='#'){if(ch1=='F')EnQueue(Q1,ch);elseEnQueue(Q2,ch);cin>>ch;cin>>ch1;}if(EmptyQueue(Q1)&&EmptyQueue(Q2))cout<<"两队为空,无法配对"<

8、(!EmptyQueue(Qf)&&!EmptyQueue(Qm)){cout<

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

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

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