舞伴问题最新分析和总结.pdfVIP

  • 267
  • 0
  • 约7.74千字
  • 约 12页
  • 2021-07-14 发布于上海
  • 举报
舞伴问题 a)需求分析 应用环境设定 某班有 m个女生 , 有 n 个男生 (m 不等于 n), 现要开一个舞会。男 女生分别编号坐在舞池的两边的椅子上,每曲开始时 , 依次从男生和 女生中各出一人配对跳舞,本曲没成功配对者坐着等待下一曲找舞 伴。由老师事先决定何时结束跳舞。 用户界面 命令行界面, 老师按照座位顺序输入数据 (学生的姓名- 不考虑 重名问题),然后开始男生 X 与女生 Y 一一配对为舞伴,每出列一个 打印出该学生的姓名。 输入方式 首先依次输入男生的个数 n 及女生个数 m,然后输入歌曲数目 s ,输入结束后,跳舞开始。第一首歌曲开始时,按顺序坐的 第一个 男生与第一个女生出类 输出方式 输出 s 轮,第一首歌曲开始时,按顺序坐的 第一个男生与第一 个女生出来,开始跳舞,以后男女生依次出来跳舞,每曲开始时,输 出 s 及男女生姓名,并回车。 数据存储方式 全部在内存存放,不使用硬盘上的文件或其他数据源,程序执行 过程中和结束后不保存数据。 程序功能 输出每曲男女配对情况及第 k 曲有哪几种配对情况。 b)概要设计 ( 需要使用线性表存储管理参与跳舞的男生女生,出列后的男女 生的信息在打印后直接丢掉。每个参与者只保存其姓名。 c) 详细设计 主要函数有: 创建链队列函数 (InitLQueue 函数) :静态建立两个存储链表,分 别用来存储男队和女队的编号情况, 链表长度分别为男女生人数, 链 表表头是队头,链表表尾是队尾。 配对输出函数 (display 函数):建立男女生循环队列后,利用出队 函数让男队和女队依次各出一个人跳舞, 输出配对编号, 跳完舞后男 女生再次进入队列等待下一次跳舞。 配对查找函数 (charge 函数):提示用户输入查找编号后,男队和 女队循环依次出队, 用 count 记录循环次数 ( 即记录他们在第几首歌跳 舞),比较出队编号和查找编号是否一致,如果一致,输出配对情况。 当输入过大时,系统会提示输入过大,请重新输入。 出队函数 (Dequeue 函数 ) :利用指针移动实现数据移动,取完指 向元素后,将头指针移向下一个结点位置, 相当于全体队员向前移动 一位。 入队函数 (Enqueue 函数) :将尾指针移向头指针所指元素,相当 于出队的那个元素进入队尾,等待下一轮跳舞。 功能图: 学生搭配问题 (main 函数) 创建循环链队列 配对输出函数 配对查找函数 (InitLQueue) 函数 (display) 函数 (charge)函数 出队函数 入队函数 出队函数 入队函数 (Dequeue) (Enqueue) (Dequeue) (Enqueue) 函数 函数 函数 函数 配对查找函数流程图 男女生循环依次出队,用 count 记录他们在第几首歌跳舞,比较 出队编号和查找编号是否一致,如果一致,输出配对情况

文档评论(0)

1亿VIP精品文档

相关文档