数据结构 课 程 设 计 题 目 学生搭配问题 学生姓名 董甜 学 号 *********** 院 系 滨江学院 专 业 软件工程 指导教师 宣文霞 二O一O 年 十二 月 十五 日 学生搭配问题 一、 设计题目 一班有 m 个女生,有 n 个男生(m 不等于 n),现要开一个舞会. 男女生分别编号坐在舞池的两边的椅子上.每曲开始时,依次从男生和女生中各出一人配对跳舞, 本曲没成功配对者坐着等待下一曲找舞伴。请设计一系统模拟动态地显示出上述过程,要求如下: (1)输出每曲配对情况 (2)计算出任何一个男生(编号为 X)和任意女生(编号为 Y),在第 K 曲配对跳舞的情况.至少求出 K 的两个值. 二、 运行环境 本课题的程序设计和测试等环节都是在 Windows7 操作系统下完成,软件的编译测试环境为 vc6.0 以 c 语言编写的。软件的硬件运行需求非常低,任何计算机都可运行。 三、算法设计的思想 基本思路:队列(Queue)是只允许在一端进行插入,而在另一端进行删除的运算受限的线性表。 循环队列是在队列的顺序存储结构中,除了用乙组地址连续的存储单元依次存放从队列头到 队列尾 的元素 外 ,尚 需附 设两个指 针 front 和 rear 分别指 示队列头元素 和队列尾 元素的位 置 。 循环队列(两个),将 男生、女生两组人分别存放,以实 现循环配对输出。循环队列的入队,出队,判 队满 ,判 队空 。 (1) 要模拟动态地显示出现题目中所 要求的循环,我 们 要先 建 立 两个循环队列SqQueue 和 SqQueue2。 (2) 将 男生、女生两组人分别存入这 两个队列。以实 现他 们 的循环配对输出,这 是循环队列固 有的特 性。 (3) 利 用循环队列的特 性,将 男女生分别进行入队列和出队列操作,且 实 现搭 配输出。 (4) 循环队列的长 度 分别设为男女生的个数 即 可。 (5) 在计算机终 端输出的结果 是:根 据 要求输出男生女生搭 配情况 关 键 问 题: 循环队列的应 用 解 决 方 法:数 据 模型 (逻 辑 结构): 循环队列(两个),将 男生、女生两组人分别存放,以实 现循环配对输出。 存储结构: 循环链 表 核 心 算法: 循环队列的入队,出队,判 队满 ,判 队空 。 输入数 据 : 男生人数 、女生人数 ,歌 曲数 量 输出数 据 : 每一首 歌 曲播 放时,男生和女生搭 配情况(只输出编号即 可)当 要查 找的男女...