1 / 18
文档名称:

数据结构跳舞搭配.doc

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

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

分享

预览

数据结构跳舞搭配.doc

上传人:drp539607 2019/4/21 文件大小:356 KB

下载得到文件列表

数据结构跳舞搭配.doc

文档介绍

文档介绍:课程设计课程设计名称:数据结构课程设计专业班级:计类1302学生姓名:陈哲学号:201316920222指导教师:史卫亚课程设计时间:—,有n个男生(且m≠n),现要开一个舞会,男女分别编号坐在舞池的两边的椅子上。每曲开始时,依次从男和女中各出一个人配对跳舞,本曲没成功配对者坐着等待下一曲找舞伴。任务要求设计一系统模拟动态地显示出上述过程,要求如下:1)输出每曲配对情况;2)输出第K曲配对情况参考文献《数据结构(C语言版)》严蔚敏清华大学出版社《C语言程序设计》(第三版)谭浩强清华大学出版社审查意见指导教师签字:教研室主任签字:2014年6月14日目录1需求分析..........................42概要设计...........................43详细设计..........................44开发平台...........................45编码...............................56调试分析.........................127测试结果........................12附图参考文献1需求分析学生跳舞分配系统建立队列匹配男女输出数据2概要设计(1)程序总体框架如图1所示:主函数第K曲配对每曲配对数据输入输出编号图1程序框架图3详细设计把输入的信息按性别分别存入maledancer和femaledancer定义两个循环队列结构体maledancer,femaledancer输入舞者信息(存入typedefstruct)主函数(voidmain)判断男女哪种性别的人数少(例如男性少人数为n)#include<>#include<>#include<>#include<>#definequeuesize5typedefstruct{charname[20];charsex; }person_type;typedefstruct{ person_type*qBase; intfront;intrear;}cir_queue;voidinit_queue(cir_queue*q){ q->qBase=(person_type*)malloc(sizeof(person_type)*queuesize); if(!q->qBase) { printf("动态创建失败,程序终止!"); exit(-1); }q->front=q->rear=0;}boolfull_queue(cir_queue*q){ if((q->rear+1)==q->front) returntrue; else returnfalse;}boolempty_queue(cir_queue*q){ if(q->front==q->rear) returntrue; else returnfalse;}voiden_queue(cir_queue*q,person_typep){ if(full_queue(q) { printf("队列已满,无法实现进队操作,程序终止!"); exit(-1); } else { q->qBase[q->rear]=p; q->rear=(q->rear+1)%queuesize; }}person_typede_queue(cir_queue*q){ person_typep;if(empty_queue(q)) { printf("队列为空,无法实现出队操作,程序终止!"); exit(-1); } else {p=q->qBase[q->front];q->front=(q->front+1)%queuesize;returnp; }}intlength_queue(cir_queue*q){ returnq->rear-q->front;}person_typequeue_front(cir_queue*q){ if(empty_queue(q) { printf("队列为空,操作失败!"); exit(-1); } returnq->qBase[q->front];}voiddancepartners(cir_queuefem