1 / 16
文档名称:

数据结构-舞伴配对实训.doc

格式:doc   大小:248KB   页数:16页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构-舞伴配对实训.doc

上传人:fyyouxi23 2019/8/3 文件大小:248 KB

下载得到文件列表

数据结构-舞伴配对实训.doc

文档介绍

文档介绍:数据结构实训报告应用程序名称及要求··································3应用程序主体、设计目的·································3应用程序简介···········································3应用程序的总体结构图及代码····························4测试结果··············································10得意之处··············································14课程设计中存在的问题··································14设计实践过程中的体会··································14参考文献··············································14应用程序名称及要求名称:舞伴问题   假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。现要求写一算法模拟上述舞伴配对问题。(二)应用程序主体、设计目的   先入队的男士或女士亦先出队配成舞伴。因此该问题具体有典型的先进先出特性,可用队列作为算法的数据结构。   在算法中,假设男士和女士的记录存放在一个数组中作为输入,然后依次扫描该数组的各元素,并根据性别来决定是进入男队还是女队。当这两个队列构造完成之后,依次将两队当前的队头元素出队来配成舞伴,直至某队列变空为止。此时,若某队仍有等待配对者,算法输出此队列中等待者的人数及排在队头的等待者的名字,他(或她)将是下一轮舞曲开始时第一个可获得舞伴的人。(三)应用程序简介整个程序是要做一个舞伴配对问题的系统,运用队列实现初始化,入队,出队,取对头,判断队列为空,遍历队列6个功能。因为数组具有全局或局部,静态或动态的特定存储属性,所以用结构体数组存储人的信息(姓名,些别,身高)以及队列(头指针first,尾指针last,计数器count)。为了不浪费存储空间,假定预分配的队列空间最多为100(QueueSize)。整个程序在vc++。(1)初始化队列initqueue(squeue*p)【音乐】初始条件:队列squeue不存在。操作结果:构造一个空队列squeue。P指向的first,last,count都为零。建立顺序队列greatequeue【走进舞池】定义一个整型total用来存放要跳舞的人数。Total为一个参加舞会的人数。将要跳舞的人分成男(m,M)女(f,F)两队。(3)入队append()【选择舞伴】此功能是输入跳舞人员的信息(姓名,性别)。出队dequeue()【开始跳舞】定义整型的Mtmp,Ftmp临时变量来记住队头,男队和女队的队头分别赋值给Mtmp,Ftmp。在之前已定义音乐的回合数round为3,所以在舞池中只能配对三次,显示出当前跳舞的人。如果男队或女队为空就重新排队。这里的while循环是表示一直跳到有个队伍结束。判断队空empty(squeue*p)【查看队伍】查看队伍中是不是没有人要继续跳舞了。取队头gethead(squeue*p)【挑选第一位舞伴】取出队头元素。遍历队列display(squeue*p)按顺序输出数据。应用程序的总体设计结构图及代码开始调用menu菜单函数进入wheil()主循环输入0~1中的一个数值,选择相应操作结束输入是否为零?调用end函数否调用相应函数,完成相应功能舞伴配对问题代码#include<>#include<>#include<>#include<>#definemaxsize50#defineQueueSize100//假定预分配的队列空间最多为100个元素#definepersonint#rue1#definefalse0typedefstructPerson{ charname[20]; charsex;//性别,f表示女,m表示男 floatheight;}Person;typedefstructsqueue{ Persondate[QueueSize]; intfirst; intlast; intcount;}squeue;squeue*Total=NULL;//总的舞池squeue*Mdancers=NULL;//男性队列squeue*Fdancers=NULL;//女性队列intround=3;//回合数intempty(squeue*p);vo

最近更新

高考语文基础知识.梳理 13页

2025年江西枫林涉外经贸职业学院单招职业技能.. 128页

2025年江西应用科技学院单招职业技能测试题库.. 127页

急性肾功能衰竭 78页

2025年江西工商职业技术学院单招职业适应性测.. 129页

2025年江西工业职业技术学院单招职业技能测试.. 125页

催收话术培训 25页

美术学校装修监理3篇 60页

2025年江西冶金职业技术学院单招职业倾向性测.. 129页

2025年江苏财会职业学院单招职业倾向性测试题.. 127页

美容行业市场调查居间合同3篇 51页

会展工程与材料课程材料分析 28页

2025年江苏省常州市单招职业倾向性测试题库及.. 127页

美发店装修项目合同2篇 33页

小学三年级感恩教育主题班会 21页

2025年江苏工程职业技术学院单招职业技能测试.. 130页

下尺桡关节脱位 34页

五个维度心理测验 8页

现浇钢筋混凝土结构主体后浇带施工 34页

2025年江海职业技术学院单招职业技能测试题库.. 130页

2025年江南影视艺术职业学院单招职业技能测试.. 127页

建筑施工安全第1章建筑工程基础知识 33页

2025年汉中职业技术学院单招职业技能测试题库.. 129页

骨盆骨折的手术护理 35页

供应室清洗打包 28页

肱骨外科颈骨折 22页

2025年武汉海事职业学院单招职业技能测试题库.. 126页

2025年武汉信息传播职业技术学院单招职业适应.. 127页

高中化学必修二34基本营养物质 60页

期权激励方案设计模板 7页