count3quit2.java

来自「这是一系列的java关于数组的程序」· Java 代码 · 共 71 行

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

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

class KidCircle {
	int count = 0;
	Kid first,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 {
			k.right = first;
			last.right = k;
			k.left = last;
			first.left = k;
			last = k;
		}
		count++;
	}
	
	void delete(Kid k) {
		if(count <= 0) {
			return;
		}else if(count == 1) {
			first = last = null;
		}else {
			k.right.left = k.left;
			k.left.right = k.right;
			
			if(k == first) {
				first = k.right;
			} else if(k == last) {
				last = k.left;
			}
		}
		count--;
	}
	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?