数据结构实现舞会男女分配问题(Java版)
为什么写一个Java数据结构来解决舞会问题呢?
- 在写舞会问题时,我从网上查询了绝大部分建议与思路,发现全是使用c语言写出来的,所以Java和c语言同时为计算机语言,但c语言指针的连通性是Java所不具备的。由于我的专业是专攻Java,因此想写一个关于舞会问题的Java数据结构代码。(由于自身的知识可能掌握的不全面,大佬勿喷)
- 下面我先把题目呈现给大家:
- 利用循环队列模拟舞伴配对问题。在舞会上,男、女各自排成一队。舞会开始时。依次从男队和女队的队头各出一人配成舞伴。如果两队初始人数不等,则较长的那一队中未配对者等待下一轮舞曲。
2. 假设初始男、女人数及性别已经固定,舞会的轮数从键盘输入。
试模拟解决上述舞伴配对问题。
3.从屏幕输出每一轮舞伴配对名单,如果在该轮有未配对的,能够从屏幕显示下一轮第一个出场的未配对者的姓名。
- 大家来看这个题,题目的要求是让我们用循环队列来解决问题,解决什么问题呢?
看一下第二点,男女人数不等,我们要解决的男女舞伴分配问题,即第一轮没有跳舞的男生或者女生将在下一轮先上场去和另一队的对头相匹配。 - 思路:求出男女生较少的那一队,以这个为最小量,每首歌曲都将以这个最小量上场,每次上场时队头先出队,然后对头再入队,我们只需要提供每次歌曲的数量就可以轻松的解决了。
- 我相信大