问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

试用循环链表为存储结构,写一个约瑟夫问题的算法。

发布网友 发布时间:2022-05-24 07:15

我来回答

1个回答

热心网友 时间:2023-10-08 16:41

#include<stdlib.h> /*杂类声明*/
#include<stdio.h>
struct dnode{
int num, key;
struct dnode *prior,*next;
};

void main(){
int n,m,i,k;
struct dnode *head,*p,*s;
printf("________________________________________________________________________________");
printf("--------------------------------------------------------------------------------");
printf("\t\t\t The question of YSFH\n\n\n");
printf("Please input num of person and first password:");
scanf("%d,%d",&n,&m);
printf("\n");
while(n<0||m<0){ /*当人数小于零,或者初始密码小于零时报错,重新输入*/
printf("error!num,password should >0\n");
scanf("%d,%d",&n,&m);
}
s=(struct dnode*)malloc(sizeof(struct dnode));
for(i=1;i<=n;i++){
if(i==1)
head=s;
p=s; /*P指向新建的接点*/
p->num=i;
printf("Please input %d password:", i);
scanf("%d",&p->key);
printf("\n");
while(p->key<0){ /*当密码小于零时报错,重新输入*/
printf("error!password should >0\n");
scanf("%d",&p->key);
}
s=(struct dnode*)malloc(sizeof(struct dnode)); /*创建下一个结点,*/
/*连接在P后*/
p->next=s; /*创建下一个结点,连接在P后*/
s->prior=p;
}
p->next=head; /*所有结点创建完毕,把尾指针与头指针相连*/
head->prior=p;
free(s);
p=head;
printf("\n\nDequeue Sequence :\t");
for(i=1;i<=n;i++){
for(k=1;k<=m;k++) /*找到要删除结点的下一个结点,并保存要删除结点*/
p=p->next; /*中的密码,以作为下次循环的条件*/
m=p->prior->key;
printf(" --> %d",p->prior->num);
p->prior->prior->next=p; /*删除结点,作结点前后结点的连接*/
p->prior=p->prior->prior;
if(i%8==0)
printf("\n\t\t\t");
}
for(i=1;i<5;i++)
printf("\n");
printf("----------------------------------------------------------------------------[YM]");
printf("________________________________________________________________________________");

getch(); /*使运行时画面停留在结果处*/
}

参考资料:唯C期刊上的

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我爱我校征文800字 建行聚财宝少一万时5小时内补上会怎样 咪哩乡文化教育 咪哩乡基础设施 咪哩村云南省玉溪市元江县咪哩乡咪哩村 咪哩乡历史文化 元江咪哩中心小学怎么样? 原神 原神胡桃进阶材料是什么? 原神 原神呢胡桃材料有哪些? 原神 原神胡桃的突破材料是什么? josephus problem 约瑟夫环 C语言 约瑟夫环问题的C++算法,求用链表和递归两种方法,尽量详细! C语言编程Josephus问题 描写解决约瑟夫问题的算法,按出列顺序组成新的表,然后再输出 Josephus环算法的设计 流程图 怎样用vb实现约瑟夫环算法?? josephus问题数据结构C 编写C语言算法,试编写一个求解Josephus问题的函数,用整数序列1, 2, 3, …… 约瑟夫环的算法原理 求解josephus问题的算法 什么是约瑟夫法则 用弹簧测力计探究动滑轮的省力特点的视频 弹力测力计的使用方法 如题 快影制作视频封面微信发却没有 sql group 后按分组数量的多少排序怎么写? 求助asp 中group by 的用法是什么啊!! 急!急!为什么有时用groupby结果还是显示同一个人的记录 sql group by 排序问题 sort by 和 group by 的区别是什么? SQL中的group by为什么是按照分组的第二个字段排序的呢? 怎样做网站优化,使其在搜索引擎中排名靠前。 求c++程序设计“约瑟问题”的算法 约瑟夫难题的约瑟夫指的是哪位约瑟夫? 《假面骑士W》免费在线观看完整版高清,求百度网盘资源 没有壳的蛋能否放进微波炉呢? 鸡蛋(没脱壳)为什么不能放在微波炉里叮呢? 一兆瓦是多少度 60版2元人民币的价格表? 60版2元纸币编号6888888有收藏价值吗? M1的USB接口在接普通U盘的时候可以识别,在接移动硬盘的时候不能识别 吉利星越L雷神Hi·X油电混动版12月25日预售 最大续航1300公里 吉利星越L雷神Hi·X油电混动版月底开售 最大续航1300公里 我的移动硬盘无法读取怎么回事 我的世界有没有办法隐藏章鱼 删除章鱼tv我看风云直播出现章鱼插件按装完成?怎样删掉它? 我原来看别人下载了个软件,图标是个红色的小章鱼 C# 的应用程序怎么打包成setup可执行文件, 发布之后要在没有安装.net framework 用inno setup打包安装工具生成的EXE程序,在安装的时出现【试图在初始化之前展开“app”常量】怎么解决? 关于vb的打包工具setup factory7.0的使用,请高手帮帮忙,谢谢! msi打包与setup打包有什么区别?各有什么优点? 使用InstallShield工具打包,怎么修改生成的Setup.exe的图标