早教吧作业答案频道 -->其他-->
数据结构试验设计上老师提出了一个问题,关于线性结构的应用,约瑟夫环问题小弟才疏学浅,约瑟夫问题的一种描述是:编号为1,2,...,n的n个人按顺时针方向围坐一圈,每个人持有一个密码(正
题目详情
数据结构试验设计上老师提出了一个问题,关于线性结构的应用,约瑟夫环问题 小弟才疏学浅,
约瑟夫问题的一种描述是:编号为1,2,...,n的n个人按顺时针方向围坐一圈,每个人持有一个密码(正整数).一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报道m时停止报数.报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有的人全部出列为止.设计程序求出出列顺序.
基本要求:
利用单项循环链表储存结构模拟其过程,按照出列的顺序打印个人编号.
约瑟夫问题的一种描述是:编号为1,2,...,n的n个人按顺时针方向围坐一圈,每个人持有一个密码(正整数).一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报道m时停止报数.报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有的人全部出列为止.设计程序求出出列顺序.
基本要求:
利用单项循环链表储存结构模拟其过程,按照出列的顺序打印个人编号.
▼优质解答
答案和解析
#include
struct list//建立一个结构体,包括每个人的编号,密码和下一级的指针
{
int id;
struct list *next;
};
list* input(int n)//链表的初始化
{
list *p,*q,*l;
int i,m;
p=new list;
l=new list;
l->next=NULL;
p=l;
p->id=1;//第一个人的初始化
for(i=2;iid=i;
q->next=NULL;
p->next=q;
p=q;
}
p->next=l;//使表尾指向表头,成循环链表
return p;
}
int main()
{
int num,m1,i;
list *q,*p;
printf("输入人数:");
while(scanf("%d",&num)!=EOF)
{
printf("密码为:");
scanf("%d",&m1);
p=input(num);
printf("最后一人序号为:");
while(p->next!=p)
{
for(i=1;inext;
}
q->next=p->next;
delete p;
p=q;
}
printf("%4d",p->id);
delete p;
printf("\n");
}
}
struct list//建立一个结构体,包括每个人的编号,密码和下一级的指针
{
int id;
struct list *next;
};
list* input(int n)//链表的初始化
{
list *p,*q,*l;
int i,m;
p=new list;
l=new list;
l->next=NULL;
p=l;
p->id=1;//第一个人的初始化
for(i=2;iid=i;
q->next=NULL;
p->next=q;
p=q;
}
p->next=l;//使表尾指向表头,成循环链表
return p;
}
int main()
{
int num,m1,i;
list *q,*p;
printf("输入人数:");
while(scanf("%d",&num)!=EOF)
{
printf("密码为:");
scanf("%d",&m1);
p=input(num);
printf("最后一人序号为:");
while(p->next!=p)
{
for(i=1;inext;
}
q->next=p->next;
delete p;
p=q;
}
printf("%4d",p->id);
delete p;
printf("\n");
}
}
看了 数据结构试验设计上老师提出了...的网友还看了以下:
阅读下面的文字,完成后面问题。秋风台人们都叫我徐夫人。一个很女性的名字。但我是把匕首,是天底下最锋 2020-05-12 …
女人性生活无感觉,是什么原因?有性欲望,丈夫也很会调情,可是发生性关系时,不管阴道多么润滑,就是没 2020-05-17 …
数字语音压缩编码方法很多,一种方法是使用波形编码,其代表是PCM编码方法,特点是通用性强,但是主 2020-05-23 …
将1NF规范为2NF,应()。A.消除非主属性对码的部分函数依赖B.消除非主属性对码的传递函数依赖C 2020-05-24 …
对关系“航班”,请回答以下问题: (1)列举出“航班”关系中所有不属于任何候选码的属性(非码属性)。 2020-05-26 …
哈夫曼编码采用的是(32)编码定理。A.平均码长B.自适应码长C.变字长D.等字长 2020-05-26 …
2NF通过(37)就规范为3NF。A.消除非主属性对码的部分依赖B.消除非主属性对码的传递依赖C.消 2020-05-26 …
A.没有消除非主属性对码的部分函数依赖,如:仓库号→电话B.没有消除非主属性对码的部分函数依 2020-05-26 …
要素标识符一般由主代码、副代码、时段码与属性码四部分组成。编码格式是主代码[副代码][时段码][ 2020-05-27 …
采用A律13折线压扩特性编码电路,设最小量化级为1⊿代表最小归一化单位1/2048,已知抽样脉冲值 2020-06-17 …