JAVA兑现约瑟夫环

JAVA实现约瑟夫环
//实现约瑟夫环
public class Josephus {
	private static class Node{
		public int no;
		public Node	next; //下一个节点
		
		public Node(int no){
			this.no = no;
		}
	}
	public static void main(String[] args){
		Scanner scaner = new Scanner(System.in);
		System.out.println("请输入人数:");
		int totalNum = scaner.nextInt();
		System.out.println("请输入报数的大小:");
		int cycleNum = scaner.nextInt();
		
		//构成一个圈
		Node header = new Node(1);
		Node pointer = header;
		for(int i = 2 ; i<=totalNum ; i++){
			pointer.next = new Node(i);
			pointer = pointer.next;
		}
		pointer.next = header;
		
		//初始化结束条件为就剩一个节点
		while(pointer != pointer.next){
			for(int i = 1;i < cycleNum ; i++){
				pointer = pointer.next;
			}
			System.out.println(pointer.next.no);
			//删除节点
			pointer.next = pointer.next.next;
		}
		//最后一个节点
		System.out.println(pointer.next.no);
	}
}
1 楼 haidage 2011-10-13  
小伙,你头像真磕碜。
2 楼 mllongze 2011-10-14  
haidage 写道
小伙,你头像真磕碜。

那是我最帅的一张