约瑟夫问题(有时也称为约瑟夫斯置换,是一个出现在计算机科学和数学中的问题。在计算机编程的算法中,类似问题又称为约瑟夫环。又称“丢手绢问题”.)
例子:
len个人围成一个圈,玩丢手绢游戏。从第k个人开始,从1开始数数,当数到m时,数m的人就退出圈子,当圈子只剩下一个人为止。
package day7;
public class Damo2 {
public static void main(String[] args) {
// Child c1=new Child(1);
// Child c2=new Child(2);
// Child c3=new Child(3);
// Child c4=new Child(4);
// Child c5=new Child(5);
// Child c6=new Child(6);
// c1.setNext(c2);
// c2.setNext(c3);
// c3.setNext(c4);
// c4.setNext(c5);
// c5.setNext(c1);
//循环长度
int childCounts=41;
//创建一个数组,在堆空间中创建一个这个数组的空间,也就是容量
Child[] childs=new Child[childCounts];
//给这个数组空间分配每个元素的空间
for(int i=0;i<childs.length;i++) {
childs[i]=new Child(i+1);
}
//建立起每个元素之间的联系1--》2---》3---》4....
for(int i=0;i<childs.length;i++) {
//类似于一个圈,从1到10,那么每个元素的下标就是从0到9
//如果当这个圈中