java数组应用

用java实现数到3退出(一群小朋友围成一个圈,数到3的朋友自动退出该圈)
Count3Quit.java的源代码如下


package com.daozhao;

public class Count3Quit {
	public static void main(String[] args){
		KidCircle kc=new KidCircle(500);
		int CountNum=0;
		Kid k=kc.first;
		while(kc.count>1){
			CountNum++;
			if (CountNum==3){
				CountNum=0;
				kc.delete(k);
				
			}
			k=k.right;
		}
		System.out.println(kc.first.id);
	}
}

class Kid{
	int id;
	Kid right;
	Kid left;
}

class KidCircle{
	int count=0;
	Kid first;
	Kid last;
	
	KidCircle(int n){
		for(int i=0;i<n;i++){
			add();
		}
	}
	
	void add(){
		Kid k=new Kid();
		k.id=count;
		if (count==0){
			first=k;
			last=k;
			k.left=k;
			k.right=k;
		}
		else{
			last.right=k;
			k.left=last;
			k.right=first;
			first.left=k;
			
		}
		count++;
	}
	
	void delete(Kid k){
		if(count<=0){
			return;
		}
		else if(count==1){
			first=last=null;
		}
		else{
			k.left.right=k.right;
			k.right.left=k.left;
			
			if(k==first){
				first=k.right;
			}
			else if(k==last){
				last=k.left;
			}
		}	
		count--;
	}
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注