java环形链表实现约瑟夫问题(丢手帕问题)

java环形链表实现约瑟夫问题(丢手帕问题)

ID:8158045

大小:44.50 KB

页数:4页

时间:2018-03-08

java环形链表实现约瑟夫问题(丢手帕问题)_第1页
java环形链表实现约瑟夫问题(丢手帕问题)_第2页
java环形链表实现约瑟夫问题(丢手帕问题)_第3页
java环形链表实现约瑟夫问题(丢手帕问题)_第4页
资源描述:

《java环形链表实现约瑟夫问题(丢手帕问题)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、/***作者:徐守威*功能:约瑟夫问题(丢手帕问题)*具体问题:设编号为1,2,3....n的n个人围坐一圈,约定编号为k(1<=k<=n)的人从1开始*报数,数到m的那个人出列,它的下一位从一开始报数,报到m的那个人又出列,以此类推,*直到所有人出列为止,如此产生一个出列编号的序列...*解决方案:链表*/packagecom.jasxu;importjava.io.*;publicclassT4{/***@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto-generatedmeth

2、odstubtry{InputStreamReaderisr=newInputStreamReader(System.in);BufferedReaderbr=newBufferedReader(isr);System.out.println("请输入参加该游戏小孩的个数:");StringjoinNmu=br.readLine();System.out.println("请输入您想从编号为几的小孩开始报数?");Stringn1=br.readLine();System.out.println("请输入您想数到几的小孩出列?");Stringn2

3、=br.readLine();intnum1=Integer.parseInt(n1);intnum2=Integer.parseInt(n2);intjoinLen=Integer.parseInt(joinNmu);CycLinkcyclink=newCycLink();cyclink.setLen(joinLen);cyclink.createLink();cyclink.setK(num2);cyclink.setM(2);cyclink.show();cyclink.play();}catch(Exceptione){e.printSta

4、ckTrace();}}}//构建各个孩子classChild{//定义child的编号intno;//定义可以指向下一个的指针ChildnextChild=null;//创建构造函数publicChild(intno){//赋编号this.no=no;}}//构建一个环形链表classCycLink{//先定义一个指向链表第一个小孩的引用//指向第一个小孩的引用,不能动ChildfirstChild=null;//定义一个游标,相当于跑龙套Childtemp=null;//定义一个表示大小的的len,表示共有几个小孩intlen=0;intk=0

5、;intm=0;//构造函数,用来设置环形链表的大小publicvoidsetLen(intlen){this.len=len;}//设置m的值publicvoidsetM(intm){this.m=m;}//设置从第几个人开始数数publicvoidsetK(intk){this.k=k;}//游戏实现publicvoidplay(){//设置跑龙套的小孩Childtemp=this.firstChild;//1.找到开始数数的人for(inti=1;i

6、{//2.数m下for(intj=1;j

7、圈的小孩是:"+temp.no+"号小孩!");}//初始化环形链表publicvoidcreateLink(){//统计有多少个孩子for(inti=1;i<=len;i++){if(i==1){//首先创建第一个小孩Childch=newChild(i);//将第一个孩子的应用交给firstChildthis.firstChild=ch;//同时也要将引用交给跑龙套用this.temp=ch;}else{//判断是否是创建最后一个小孩if(i==len){//继续创建小孩Childch=newChild(i);//将temp的指针指向下一条地址

8、的引用temp.nextChild=ch;//这条线相当于搭桥的线//桥答完后还要让temp指向刚刚创建的那个孩子temp

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

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

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