public void play() { Child temp=this.firstChild; //1.先找到开始数数的人 for (int i=1;i<k;i++ ){ temp=temp.nextChile; } while(this.len!=1){ //2.数m下 for (int j=0;j<m;j++){ temp=temp.nextChile; } //找到要出圈的前一个小孩 Child temp2=temp; while (temp2.nextChile!=temp){ temp2=temp2.nextChile; } //3.将数到m的小孩,退出圈 temp2.nextChile=temp.nextChile; //让temp指向下一个数数的小孩 temp=temp.nextChile; //this.show(); this.len--; } //最后一个小孩 System.out.println("最后出圈"+temp.number); } //初始化环形链表 public void createLink() { for (int i=1;i<=len;i++) { if (i==1){ Child ch=new Child(i); this.firstChild=ch; this.temp=ch; } else{ if (i==len){ Child ch=new Child(i); temp.nextChile=ch; temp=ch; temp.nextChile=this.firstChild; } else{ |