一个java小程序。。。。 求解释
public class Linked{
private Node first;
private class Node
{
int item;
Node next;
}public boolean isEmpty()
{return (first==null);}
public static void main(String[] args)
{
int N=Integer.parseInt(args[0]);
Node[] a = new Node[20];int i;
for(i=0;i<=19;i++)
{
a[i].item=i;
}
for(i=0;i<19;i++)
{
a[i].next=a[i+1];
}
a[19].next=a[0];
int j=0;
for(i=0;i<=18;i++)
{
a[j].next=a[j+N];
j=j+N;
}
System.out.println(a[j+N]);
}
}
用于20个人中顺次序依次删除19个,,留下最后一个,打印出他的号数,
------解决方案--------------------
一个有20个单位的圈,,每隔n个删除一个,直到剩下最后一个