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(countNum == 3) { 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 { last.right = k; k.left = last; k.right = first; first.left = k; last = 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 --; }}
转载于:https://www.cnblogs.com/RoseJack/p/7743163.html
