数据结构基础实验8

数据结构基础实验8

ID:46690112

大小:51.50 KB

页数:5页

时间:2019-11-26

数据结构基础实验8_第1页
数据结构基础实验8_第2页
数据结构基础实验8_第3页
数据结构基础实验8_第4页
数据结构基础实验8_第5页
资源描述:

《数据结构基础实验8》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

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

2、itQueue(Queue&Q);〃构造一个空队列Q%1intEmptyQueue(QueueQ);〃判断队列Q是否为空,若空返回1,否则返回0%1voidEnQueue(Queue&Q,ElemTypeitem);〃元索item进队列Q%1ElemTypeOutQueue(Queue&Q);〃队头元素出队列Q,并返回其值%1ElemTypePeekQueue(QueueQ);〃返回队头元素值%1voidClearQueue(Queue&Q);〃清空队列2、应用(选做部分人编写程序,实现舞伴问题:假设在周末舞会上,男士们和女士们进入舞厅时,

3、各门排成一队,跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴,若两队初始人数不相同,则较长的那一队屮未配对者等待下一轮舞曲。现要求设计一个函数voidpartner(),模拟上述舞伴配对问题。基木要求:1)由键盘输入数据,每对数据包括姓名和性别;2)输出结杲包括配成舞伴的女士和男士的姓名,以及未配对者的队伍名称和队头者的姓名;3)要求利用test8.h中己实现的顺序循环队列的基本操作函数来实现。函数voidpartner()添加到文件test8.cpp屮,在主函数屮进行调用测试。测试数据如F:请输入跳舞者的姓名和性别(以“##”结束)

4、:aaFbbMccFddMeeFffMggMhhF••11M••JJM##配对的舞伴是aabbccddeeffhhgg男队还有人等待下一轮舞曲。ii将是下一轮得到舞伴的第一人。3、填写实验报告,实验报告文件取名为report8.doco4、上传实验报告文件report8.doc、源程序文件test8.cpp及test8.h到Ftp服务器上(ftp://10.61.14.240:5000)口己的文件夹K%1.函数的功能说明及算法思路(包括每个函数的功能说明,及一些重要函数的算法实现思路)1>voidInitQueue(Queue&Q)〃构造一

5、个空队列Q{Q.MaxSize=10;Q.queue=newElemTypefQ.MaxSize];Q.front=Q.rear=0;}2、intEmptyQueue(QueueQ)〃判断队列Q是否为空,若空返回1,否则返回0{returnQ.front==Q.rear;}3、voidEnQueue(Queue&Q,ElemTypeitem)〃元素item进队列Q{if((Q.rear+l)%Q.MaxSize==Q.front){intk=sizeof(ElemType);Q.queue=(ElemType*)realloc(Q.queu

6、e,2*Q.MaxSize*k);if(Q.rear!=Q.MaxSize-1){for(inti=O;i<=Q.rear;i++)Q.queue[i+Q.MaxSize]=Q.queue[i];Q.rear+二Q.MaxSize;}Q.MaxSize=2*Q.MaxSize;}Q.rear=(Q.rear+1)%Q.MaxSize;Q.queue[Q.rear]=item;}4、ElemTypeOutQueue(Queue&Q)〃队头元素出队列Q,并返回其值{if(Q.front==Q.rear){cerr«n列队已空,无法删除!"vve

7、ndl;exit(l);}Q.front=(Q.front+1)%Q.MaxSize;returnQ.queue[Q.front];}5、ElemTypePeekQueue(QueueQ)〃返回队头元素值{if(Q.front==Q.rear){cerr«n列队已空,无法读取!M«endl;exit(l);}returnQ.queue[(Q.front+1)%Q.MaxSize];}6、voidClearQueue(Queue&Q)〃清空队列{if(Q.queue!=NULL)delete[JQ.queue;Q.front=Q.rear=0

8、;Q.queue=NULL;Q.MaxSize=0;}%1.实验结果与分析(包括运行结果截图、结果分析等)1、:ZYtest8Debugtest8.exe*□1012▲3

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

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

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