数据结构实验--学生搭配问题

本文介绍了一种使用循环队列解决学生舞蹈配对问题的算法,详细阐述了需求分析、概要设计、调试分析和总结。通过循环队列的入队、出队操作,实现了男女学生的配对,并能计算特定学生在哪些曲目中配对。程序设计使用C++,展示了数据结构在实际问题中的应用。
摘要由CSDN通过智能技术生成

一、   题目描述

     一班有m个女生,有n个男生(m不等于n),现要开一个舞会. 男女生分别编号坐在舞池的两边的椅子上.每曲开始时,依次从男生和女生中各出一人配对跳舞, 本曲没成功配对者坐着等待下一曲找舞伴.

请设计一系统模拟动态地显示出上述过程,要求如下:

1) 输出每曲配对情况

2) 计算出任何一个男生(编号为X)和任意女生(编号为Y),在第K曲配对跳舞的情况.至少求出K的两个值.

3) 尽量设计出多种算法及程序,可视情况适当加分

二、需求分析

本实验要对数目不等的男生女生跳舞进行搭配,设计需要解决每一首曲子                                                                                                                          

     男生女生的搭配情况,要采用循环队列的模式来解决,男生和女生各在两个循环

     的队列中,每首曲子开始,便在两个队首各取一人成功配对跳舞,并进入队尾,  

 等待下一次配对。

       例如:(3男5女情况)          

                                第一首:男1和女1

                      第二首:男2和女2

                                                 .........

                  第四首:男1和女4

三、概要设计

为实现上述功能和目的,要用到循环队列的相关知识,同时,要定义一定的抽的数据类型,主函数调用各个函数模块。

1.各模块函数介绍:

1)class cirularQueue

作用:定义一个一个循环队列

2)~cirularQueue() 

作用:定义析构函数,使对象在撤销时释放

3)bool IsFull()      

作用:判断队列是否已满

4)bool IsEmpty()    

作用:判断队列是否为空,用于出队列前使用

5)void push(T info) 

作用&#x

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值