`
mllongze
  • 浏览: 80662 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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);
	}
}
分享到:
评论
2 楼 mllongze 2011-10-14  
haidage 写道
小伙,你头像真磕碜。

那是我最帅的一张
1 楼 haidage 2011-10-13  
小伙,你头像真磕碜。

相关推荐

Global site tag (gtag.js) - Google Analytics