• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

C数据结构循环链表实现约瑟夫环

c语言 搞代码 4年前 (2022-01-06) 18次浏览 已收录 0个评论

这篇文章主要介绍了C数据结构循环链表实现约瑟夫环的相关资料,需要的朋友可以参考下

C数据结构循环链表实现约瑟夫环

本文代码均在turbo C 2.0 的环境下运行通过,并得到正确结果,本程序为用循环链表实现约瑟夫环,即有m个人站成一个圆环,从某人(队列第一个)开始报数,约定从某数开始的第n个人出列,他的下一个再从一开始报,然再一个报道n的人出列,本程序结果为人员出列顺序,

 #include #include #define OK  1 #define NULL 0 typedef int status; typedef int  ElemType; typedef struct LNode{ ElemType data; struct LNode *next; }LNode,*LinkList; LinkList L; status CreateList_L(LinkList *L,int m) {LN<span style="color:transparent">来源gaodai#ma#com搞*!代#%^码$网</span>ode *p,*q; int i; *L=(LinkList)malloc(sizeof(LNode)) ; q=*L; q->data=1; for(i=2;idata=i; p->next=NULL; q->next=p; q=p; } q->next=*L; return OK; } status function(LinkList *L,int m,int n) {LNode *p,*q; int i,j=1,k=1; p=*L; q=p; do {p=q->next;j++; if(j%n==0) {printf("%3d",p->data); q->next=p->next; k++; free(p); } else q=p; }while(k<=m); return OK; } void main() {int m,n; clrscr(); gotoxy(5,8); printf("***************************************************\n"); gotoxy(5,9); printf("**** the list's length is :          ****\n"); gotoxy(35,9); scanf("%d",&m); gotoxy(5,10); printf("****the xunhuan's length is :         ****\n"); gotoxy(35,10); scanf("%d",&n); gotoxy(5,11); printf("***************************************************\n"); CreateList_L(&L, m); function(&L,m,n); } 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

以上就是C数据结构循环链表实现约瑟夫环的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:C数据结构循环链表实现约瑟夫环
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址