publicstaticvoidmain(String[]args){intm,n;intcount=1,k=0;System.out.print("请设置人数m=");Scannersc=newScanner(System.in);m=sc.nextInt();System.out.print("请设置报数的上限...
public static void main(String[] args) {
int m, n;
int count = 1, k = 0;
System.out.print("请设置人数m=");
Scanner sc = new Scanner(System.in);
m = sc.nextInt();
System.out.print("请设置报数的上限n=");
n = sc.nextInt();
Link link = new Link(); //构造链表
for (int i = 0; i < m; i++) {
link.insert(i, i + 1);
}
System.out.println("你插入了一下元素:");
for (int j = 0; j < link.size; j++) {
System.out.print(" " + link.getData(j));
}
System.out.println("\n出圈顺序为:");
while (link.size != 1) {
link.index(k); //定位
if (count % n == 0) {
System.out.print(" " + link.getData(k));
link.delete(k);
count = 1;
}
if (link.current == link.head) {
k = 0;
}
k++;
count++;
}
System.out.println(" " + link.getData(0));
}
我这个算法有错吗?为什么我的输出不对呢?
展开