约瑟夫环问题
来源:互联网 发布:公司取名大师软件 编辑:程序博客网 时间:2024/06/01 17:59
下面是自己写的比较好理解的约瑟夫环问题。
1. 首先需要创建循环链表,相对于单链表,在最后加上尾巴指向头即可。
2.用到k步,需要用到循环移动。
3.移动m-1步的方法,可以类似移动k步,但是要注意需要保持值,因为下一次还是移动m-1步的,假若不保存,只能打印第一个出列的。
下面是源代码:
#include<stdio.h>#include<malloc.h>typedef struct student{int data;struct student *next;}node;void yuesefu(int n,int k,int m){node *p,*curr,*r,*t;int kk;p=(node *)malloc(sizeof(node));p->data=1;p->next=p;curr=p;for(int i=2;i<=n;i++){t=(node *)malloc(sizeof(node));t->data=i;curr->next=t;curr=t;}curr->next=p;m=m-1;while(k--){r=p;p=p->next;} while(n--){ kk=m;while(m--){r=p;p=p->next;}r->next=p->next;printf("%d->",p->data);free(p);p=r->next;m=kk;}}void main(){yuesefu(13,4,2);printf("\n");}
- 约瑟夫问题、约瑟夫环
- Josephus约瑟夫环问题
- 约瑟夫环问题
- 约瑟夫环问题(Josephus)
- 约瑟夫环问题--java
- 约瑟夫环问题 Josephus
- 约瑟夫环问题
- 约瑟夫环问题
- 约瑟夫环问题
- 约瑟夫环问题
- 约瑟夫环问题
- 求解约瑟夫环问题
- 约瑟夫环问题
- 约瑟夫环问题
- 约瑟夫环问题
- 约瑟夫环问题
- 约瑟夫环问题
- 约瑟夫环问题
- android中系统自带样式
- Loader.loaderInfo 与 Loader.contentLoaderInfo
- Window.print
- 双数组trie
- 如何编写高效的Android代码
- 约瑟夫环问题
- 英文句子按单词反序输出的C++实现代码
- linux yum使用
- 浅谈ANR及如何分析解决ANR(1)
- spring2 以后的配置文件解析 【待学习】
- 采购订单自动审批
- UNDO表空间的管理
- socket
- System.Globalization命名空间