c 求约瑟夫环问题

c 求约瑟夫环问题

ID:8502496

大小:13.00 KB

页数:4页

时间:2018-03-30

c  求约瑟夫环问题_第1页
c  求约瑟夫环问题_第2页
c  求约瑟夫环问题_第3页
c  求约瑟夫环问题_第4页
资源描述:

《c 求约瑟夫环问题》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、C++求约瑟夫环问题-C++编程求Josephus(约瑟夫环)问题:m个小孩子围成一圈,从第一个小孩子开始顺时针方向数数字,到第n个小孩子离开,这样反反复复,最终只剩下一个小孩子,求第几个小孩子留下?//用C++链表,次链表是单向循环链表,方便操作#include#include#include#includeusingnamespacestd;/////////////////////////////////////////////////////////////////classys//

2、定义类{ ints;public: ys*next; friendys*set(intn); voidget(ys*s); voidputout(ys*t,intm,intn);};/////////////////////////////////////////////////ys*set(intn)//初始化链表{ ys*q=newys,*h=q; inti; for(i=1;is=i; q->next=newys; q=q->next; } q->next=h; q->s=i; returnq;}////////////////////

3、/////////////////////////////////////voidys::get(ys*s)//输出所有的小孩{ inttem=s->s; while(s->next->s!=tem) { cout<next->s<<'t'; s=s->next; }//cout<s<s<

4、ndl; ys*h=t->next,*p=t; inti=0; for(;n>1;) { i++; if(i%m!=0) {p=h;h=h->next;} else {p->next=h->next;deleteh;h=p->next;n--;} } cout<s<>n>>m; ysyue; ys

5、*head; head=set(n); yue.get(head); yue.putout(head,m,n); return0;}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。