中易网

约瑟夫环用C循环链表解

答案:1  悬赏:10  
解决时间 2021-03-06 16:37
约瑟夫环用C循环链表解
最佳答案
约瑟夫环问题的参考程序:
#include "stdio.h"
#include "stdlib.h"
typedef struct node
{ int data;
struct node *next;
}JD;
JD *xhlbjl(JD *front, JD *rear,int n)
{
int i;

front=(JD *)malloc(sizeof(JD));
front->data=n;
front->next=front;
for (i=n-1;i>0;i--)
{ rear=(JD *)malloc(sizeof(JD));
rear->data=i;
rear->next=front->next;
front->next=rear;
}
return(front);
}

JD *outqueue(JD *front, JD *rear,int m)
{int i,s;

for (i=0;i<s-1;i++)
front=front->next;
return(front);
}
main()
{ JD *h,*p,*q,*s;
int i,j,m,n;
printf("请输入人数 ");
scanf("%d",&n);
h=xhlbjl( p,q,n);
p=h->next;
printf("坐成一圈的人是: ");
for(i=1;i<=n;i++)
{ printf("%3d",p->data);
p=p->next;
}
printf("\n请输入开始位置 ");
scanf("%d",&s);
printf("数几个出去 ");
scanf("%d",&m);
s=outqueue(p,q,m);

q=s;
p=s->next;
for(j=0;j<n;j++)
{ for (i=1;i<m;i++)
{ q=p;
p=p->next;
}
printf("\n出列的人是第 %d 号",p->data);
q->next=p->next;
free(p);
p=q->next;
}

}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
三享通的创客收益有多少?
东北烤羊腿在什么地方啊,我要过去处理事情
旧金山飞新西兰在北京转机可以出机场吗
车身大排量小会不会动力不足传祺GS4 1.3T会不
研究接吻舌吻,算色吗?
古代妻子死了
天津和兴源构件有限公司怎么去啊,有知道地址
网上发布的沈阳物流公司装卸工一天一结工资是
有哪些关于没能坚持而最终放弃的历史典故、
彩色村维也纳酒店房间怎么样?
龙南县农村信用合作联社24小时自助银行我想知
从英国到中国包裹邮费是多少
宽带电视怎么提示未能通过安徽移动认证怎么回
我的电脑是华硕FX50j 配置是i5 4200U 4G内存
楚州少儿拉丁舞培训学校地址在什么地方,想过
推荐资讯
风,可以穿越荆棘是谁写的
魔兽世界7.0破碎命运印记怎么买
三八猪杂粥地址有知道的么?有点事想过去
杰信通讯地址有知道的么?有点事想过去
第五人格为什么不给选园丁 玩园丁被骂原因
我是下岗女工,今年46,已交养老金24年,有严
东南大学成贤学院-文昌院在什么地方啊,我要
淘宝买的鲜花饼好吃吗?会不会发胖?
东升小区卫生所这个地址在什么地方,我要处理
9宫格怎么玩
维护少数民族人民的利益有什么意义?
查饿血之前可不可以喝水
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?