舞伴问题
1、先建立一个舞者队列,依次往队列中添加人员信息;
2、分别创建男女队列;
3、从舞者队列中依次将队首元素出队并判断其性别并添加至男队或女队;
4、分别从男队和女队出队队首元素并配对输出;
5、将未完成的一队队首元素输出(男队的队首成员名称);
二、主要函数算法步骤及代码展示
【算法步骤】
1、初始化Mdancers队列和Fdancers队列;
2、反复循环,依次将跳舞者姓名根据性别插入Mdancers队列和Fdancers队列;
3、当Mdancers队列和Fdancers队列均为非空时,反复循环,依次输出男女舞伴的姓名;
4、如果Mdancers队列为空和Fdancers队列为非空时,则输出Fdancers对列的队头女士的姓名;
5、如果Fdancers队列为空和Mdancers队列为非空时,则输出Mdancers队列的队头男士的姓名;
【算法描述】
//舞伴问题解决
void dancersolve(Person dancer[], int num, int m, SqQueue male, SqQueue female)
{//结构体数组中dancer中存放跳舞的男女姓名,num是跳舞的人数
for (int j = 0; j < m; j++)
{
cout << "第" << j + 1 << "轮:" << endl;
for (int i = 0; i < num; i++)
{
if (dancer[i].sex == 'F')
EnQueue(female, dancer[i]);//插入女队
else
EnQueue(male, dancer[i]);//插入男队
}
cout <&

最低0.47元/天 解锁文章
972





