舞伴配对问题java_舞伴配对问题
循环队列的应用——舞伴配对问题:在舞会上,男、女各自排成一队。舞会开始时,依次从男队和女队的队头各出一人配成舞伴。如果两队初始人数不等,则较长的那一队中未配对者等待下一轮舞曲。假设初始男、女人数及性别已经固定,舞会的轮数从键盘输入。试模拟解决上述舞伴配对问题。要求:从屏幕输出每一轮舞伴配对名单,如果在该轮有未配对的,能够从屏幕显示下一轮第一个出场的未配对者的姓名。
//循环队列的常用函数
#include
#include
#define Maxsize 100
typedef struct{
int *base;
int front;
int rear;
int k; //记录初始位置
}squeue;
int a,b,i,j,n,m1,m2,m;
void Initqueue(squeue &Q)
{
Q.base=(int*)malloc(Maxsize*sizeof(int));
if (!Q.base)
exit(1);
Q.front=Q.rear=Q.k=0;
}
void Push(squeue &Q,int e)
{
if ((Q.rear+1)%Maxsize==Q.front) //队满处理
return;
Q.base[Q.rear]=e;
Q.rear=(Q.rear+1)%Maxsize;
}
void Pop(squeue &Q,int &e)
{
if (Q.rear==Q.front) //判空处理
return;
e=Q.base[Q.front];
Q.front=(Q.front+1)%Maxsize;
if (Q.front==Q.rear)
{
Q.front=Q.k;
}
}
void GetHead(squeue Q)
{
printf("%d\n",Q.base[Q.front]);
}
int main()
{
squeue Q,P;
Initqueue(P);
Initqueue(Q);
printf("请输入舞会轮数:\n");
scanf("%d",&n);
printf("请输入男生人数:\n");
scanf("%d",&m1);
printf("请对男生进行编号:\n");
for (i=1;i<=m1;i++)
{
scanf("%d",&P.base[i]);
Push(P,P.base[i]);
}
printf("请输入女生人数:\n");
scanf("%d",&m2);
for (i=1;i<=m2;i++)
{
scanf("%d",&Q.base[i]);
Push(Q,Q.base[i]);
}
m=m1
for (i=1;i<=n;i++)
{
printf("第%d轮舞会:\n",i);
for (j=1;j<=m;j++)
{
Pop(P,a);
Pop(Q,b);
printf("%d %d\n",a,b);
}
}
return 0;
}
舞伴配对问题java_舞伴配对问题相关推荐
- 循环队列的应用——舞伴配对问题:在舞会上,男、女各自排成一队。舞会开始时,依次从男队和女队的队头各出一人配成舞伴。如果两队初始人数不等,则较长的那一队中未配对者等待下一轮舞曲。假设初始男、女人数及性别
欢迎加qq群:453398542 学习讨论,会定期分享资料课程,解答问题. 循环队列的应用--舞伴配对问题:在舞会上,男.女各自排成一队.舞会开始时,依次从男队和女队的队头各出一人配成舞伴.如果两队初 ...
- 舞伴配对问题(顺序队列)
先入队的男士或者女士先出队配成舞伴,因此设置两个队列分别存放男士和女士入队者.假设男士和女士的记录存放在一个数组中作为输出,然后依次查找该数组的各元素,并根据性别来决定是进男队还是进女队.当这两个队列 ...
- 舞伴配对问题c语言实训报告,C语言数据结构队列实现舞伴匹配(数据结构第二次实验)...
C语言实验作业 题目如下: 课程名称:数据结构 实验目的: 1.掌握队列的定义及实现: 2.掌握利用队列的基本操作. 实验要求: 1. 使用链式结构完成队列的各种基本操作: 2. 补充完善 ...
- c++ 舞伴配对问题_挑战新物体描述问题,视觉词表解决方案超越人类表现
编者按:最近,研究者们发布了 nocaps 挑战,用以测量在没有对应的训练数据的情况下,模型能否准确描述测试图像中新出现的各种类别的物体.针对挑战中的问题,微软 Azure 认知服务团队和微软研究院的 ...
- c++ 舞伴配对问题_R绘图:配对样本差异表达作图ggpubr
R绘图往期回顾: R绘图:唱一半的歌,画一半的图 gghalves R绘图:gggibbous,基于ggplot2的Moon charts R绘图:ggeconodist,基于ggplot2的另类箱图 ...
- 【数据结构 - 栈和队列】自学笔记记录(更新中……)
目录 一.栈 1.栈的定义及特点 2.顺序栈 1.顺序栈的存储结构 2.创建一个空顺序栈 3.顺序栈入栈 4.顺序栈出栈 5.顺序栈取栈顶元素 6.清空一个顺序栈 7.销毁一个顺序栈 8.计算顺序 ...
- 题目描述 假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。规定每个舞曲能有一对跳舞者。若两队初始人数不相同,则较长的那一队中未配对者等待
题目描述 假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队.跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴.规定每个舞曲能有一对跳舞者.若两队初始人数不相同,则较长的那一队中未配对者等待 ...
- 使用队列 模拟跳舞舞伴Java实现
题目: 假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队. 和女队的队头上各出一人配成舞伴.若两队初始人数不相同,则较长的一队未配对者等待下一轮舞曲,现要求写一算法模拟上述舞伴配对问题. 代码 ...
- 【数据结构C语言-队列】舞伴配对
/* 舞伴配对问题 来舞蹈室的顺序: 男-姓名1:男-姓名2:女-姓名3:男-姓名4: 女-姓名5:男-姓名6:男-姓名7:女-姓名8: 最终配对顺序: 男1-女3:男2-女5:男4-女8:男:男: ...
最新文章
- 一个httpwebrequest异步下载的例子
- 三相全桥电压型PWM逆变器(交直交)Simulink仿真
- 【干货】五天,谷歌如何制作一款App?
- ios 查询mysql数据库操作系统_iOS数据库FMDB--增删改查(模糊查询)详细介绍
- 离线部署CDH5.16.1及各种坑
- g++编译时的常用选项说明
- array.prototype.map()如何工作
- macos 安装scala_如何在MacOS上安装Scala和Apache Spark
- php四种基础算法:冒泡,选择,插入和快速排序法PHP基础教程
- Android逐帧动画的实现
- [高通MSM8953_64][Android10]新增并挂载custom分区
- Java菱形的面积_用java打印菱形。
- background 与 background-image
- 深度学习数据增强(data_augmentation):Keras ImageDataGenerator
- 基于JSP(java)网络百宝箱的设计和实现(含源文件)
- activiti+testng批量测试用例-请假流程
- 分布式Session共享和单点登录实现
- 怿星科技参加2022(第六届)高工智能汽车年会
- PS仿真-GUN ACCESS操作
- 电商B2C商铺新用户复购预测(一)
热门文章
- Python判断变量的数据类型的两种方法
- CenterOs 防火墙设置
- 《OpenGL ES 2.0游戏开发(上卷):基础技术和典型案例》——6.5节光照的每顶点计算与每片元计算...
- 好文章,被架构师秒杀之后
- 如何在Django模板中注入全局变量
- ASP.NET MVC3书店--第五节 表单编辑(第二部分)(转)
- ***清除工具的进化
- 如何优化JavaScript脚本的性能
- nand flash坏块管理OOB,BBT,ECC
- 【图像处理】——上采样、下采样、在模板匹配中的金字塔加速策略