void DancePartner(DataType dancer[], int num)
{
LinkQueue maleQueue = SetNullQueue_Link();
LinkQueue femaleQueue = SetNullQueue_Link();
// 将男士和女士的信息分别加入对应的队列
for (int i = 0; i < num; i++)
{
if (dancer[i].sex == 'M')
{
EnQueue_link(maleQueue, dancer[i]);
}
else if (dancer[i].sex == 'F')
{
EnQueue_link(femaleQueue, dancer[i]);
}
}
// 配对舞伴
while (!IsNullQueue_link(maleQueue) && !IsNullQueue_link(femaleQueue))
{
DataType male = FrontQueue_link(maleQueue);
DataType female = FrontQueue_link(femaleQueue);
printf("%s %s\n", female.name, male.name);
DeQueue_link(maleQueue);
DeQueue_link(femaleQueue);
}
printf("\n");
// 输出没有配对的队头元素的姓名
if (!IsNullQueue_link(maleQueue))
{
DataType single = FrontQueue_link(maleQueue);
printf("%s\n", single.name);
}
if (!IsNullQueue_link(femaleQueue))
{
DataType single = FrontQueue_link(femaleQueue);
printf("%s\n", single.name);
}
}
6-8 舞伴问题 分数 15
最新推荐文章于 2024-05-21 19:54:20 发布