欢迎来到天天文库
浏览记录
ID:14950374
大小:117.00 KB
页数:7页
时间:2018-07-31
《实验八 队列(循环队列)的表示和实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、浙江大学城市学院实验报告课程名称数据结构基础实验项目名称实验八队列(循环队列)的表示和实现学生姓名专业班级学号实验成绩指导老师(签名)日期20131114一.实验目的和要求1、掌握队列的存储结构及基本操作。2、掌握循环队列的设置及循环队列的各种基本操作的实现。3、通过具体的应用实例,进一步熟悉和掌握队列的实际应用。二.实验内容1、建立头文件SeqQueue.h,定义顺序存储的循环队列存储结构,并编写循环队列的各种基本操作实现函数。同时建立一个验证操作实现的主函数文件test3_2.cpp,编译并调试程序,直到正确运行。2、选做:编写程序,实现舞伴问题。假设在周末舞会上,男士
2、们和女士们进入舞厅时,各自排成一队,跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴,若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。要求设计一个函数voidpartner(),模拟上述舞伴配对问题。基本要求:1)由键盘输入数据,每对数据包括姓名和性别;2)输出结果包括配成舞伴的女士和男士的姓名,以及未配对者的队伍名称和队头者的姓名;3)要求利用SeqQueue.h中已实现的顺序循环队列的基本操作函数来实现。函数voidpartner()添加到文件test3_2.cpp中,在主函数中进行调用测试。3、填写实验报告,实验报告文件取名为report8.doc。
3、4、上传实验报告文件report8.doc、源程序文件test3_2.cpp及SeqQueue.h到Ftp服务器上自己的文件夹下。三.函数的功能说明及算法思路(包括每个函数的功能说明,及一些重要函数的算法实现思路)voidInitQueue(Queue&Q)初始化队列,将队列置为空;voidEnQueue(Queue&Q,ElemTypeitem)通过输入队列名,和数据,将其插入到队列中ElemTypeOutQueue(Queue&Q)通过输入队名对队列中元素进行删除ElemTypePeekQueue(Queue&Q)只取队首元素,不进行删除boolEmptyQueue(Q
4、ueue&Q)通过判断front和rear是否相等,判断队列是否为空voidpartner(QueueQf,QueueQm)判断舞伴,如果两列队都为空,就不进入函数,否则从两列队各取出队首元素进行配对,若有剩余则输出剩余队的人;四.实验结果与分析(包括运行结果截图、结果分析等)五.心得体会(记录实验感受、上机过程中遇到的困难及解决办法、遗留的问题、意见和建议等。)通过队列的编程,让我对队列有了更深的了解【附录----源程序】.cpp#include#include#includetypedefcharElemTy
5、pe;#include"SeqQueue.h"voidpartner(QueueQf,QueueQm);voidmain(){QueueQ1,Q2;InitQueue(Q1);cout<<"请输入几个字符,以#结束"<>ch;while(ch!='#'){EnQueue(Q1,ch);cin>>ch;}if(EmptyQueue(Q1))cout<<"该队为空!"<6、arQueue(Q1);InitQueue(Q1);InitQueue(Q2);cout<<"请输入一段数据包括姓名和性别"<>ch;cin>>ch1;while(ch!='#'&&ch1!='#'){if(ch1=='F')EnQueue(Q1,ch);elseEnQueue(Q2,ch);cin>>ch;cin>>ch1;}if(EmptyQueue(Q1)&&EmptyQueue(Q2))cout<<"两队为空,无法配对"<7、ueue(Q1);ClearQueue(Q2);}voidpartner(QueueQf,QueueQm){while(!EmptyQueue(Qf)&&!EmptyQueue(Qm)){cout<
6、arQueue(Q1);InitQueue(Q1);InitQueue(Q2);cout<<"请输入一段数据包括姓名和性别"<>ch;cin>>ch1;while(ch!='#'&&ch1!='#'){if(ch1=='F')EnQueue(Q1,ch);elseEnQueue(Q2,ch);cin>>ch;cin>>ch1;}if(EmptyQueue(Q1)&&EmptyQueue(Q2))cout<<"两队为空,无法配对"<7、ueue(Q1);ClearQueue(Q2);}voidpartner(QueueQf,QueueQm){while(!EmptyQueue(Qf)&&!EmptyQueue(Qm)){cout<
7、ueue(Q1);ClearQueue(Q2);}voidpartner(QueueQf,QueueQm){while(!EmptyQueue(Qf)&&!EmptyQueue(Qm)){cout<
此文档下载收益归作者所有