使用数组的实现:
class TestDemo {
@Test
void test() {
TestDemo t=new TestDemo();
System.out.println(t.getDemo(5,3));
}
public List<Integer> getDemo(int number,int step){
List<Integer> li=new ArrayList<Integer>();
if(number<0)
return li;
if(number==1) {
li.add(1);
return li;
}else {
int[] arry=new int[number];
for(int i=0;i<number;i++) {
arry[i]=i+1;
}
int count=0;//总的数
int index=0;//记录脚标的位置
while (count<number) {
int tmpeStep=0;
while(true) {
if(index==number)
index=0;
if(arry[index]!=0) {
tmpeStep++;
}
if(tmpeStep==step) {
break;
}
index++;
}
count++;
li.add(arry[index]);
arry[index]=0;
index++;
}
}
return li;
}
}