循环链表 约瑟夫环
2013-05-27 22:42
274 查看
//约瑟夫环问题,n个人,从k个人开始报数,喊道m的人出列
#include <iostream> #define ERROR 0 using namespace std; typedef struct LNODE{ int data; struct LNODE *link; }LNODE,*linklist; void jos(int n,int k,int m)//n为总人数,k为第一个报数的人,m为出列者喊到的数 { linklist p,r,list,curr; p=(linklist)malloc(sizeof(LNODE)); p->data=0; p->link=p; curr=p; for(int i=1;i<n;i++) { linklist t=(linklist)malloc(sizeof(LNODE)); t->data=i; t->link=curr->link; curr->link=t; curr=curr->link; //cout<<t->data; } //r=curr; r=p; //cout<<r->data<<endl; while((k--)!=1) {r=p;p=p->link; //cout<<p->data<<endl; }; //cout<<p->data<<endl; while(n--){ //for(int s=m-1;s--;r=p,p=p->link); int s=m-1; while(s!=0){ s--; r=p; p=p->link; } r->link=p->link; cout<<p->data<<"->"; free(p); p=r->link; } } main() { int a,b,c; cout<<"the number of people is"<<endl; cin>>a; cout<<"the first man is "<<endl; cin>>b; cout<<"the num of k is"<<endl; cin>>c; jos(a,b,c); }
相关文章推荐
- C++循环链表之约瑟夫环的实现方法
- 用个循环链表解决约瑟夫环问题
- 循环链表解决约瑟夫环问题
- 约瑟夫环问题单循环链表解法
- 数据结构(4)--循环链表的应用之约瑟夫环问题以及线性表总结之顺序表与链表的比较
- 数据结构 循环链表的应用:约瑟夫环问题
- 单循环链表--约瑟夫环
- 循环链表解约瑟夫环问题
- 第十课 循环链表,约瑟夫环问题的解决
- 单向循环链表求解约瑟夫环
- 约瑟夫环问题 【循环链表的应用】
- 循环链表中约瑟夫环的问题
- 单向循环链表实现约瑟夫环
- 数据结构:循环单向链表——约瑟夫环
- 循环链表----约瑟夫环实现
- [转]用单向循环链表解决约瑟夫环问题
- 单向循环链表的实现以及约瑟夫环的实现
- 约瑟夫环——静态循环链表,动态循环链表
- 循环链表 约瑟夫环问题实现
- 用单向循环链表实现约瑟夫环