public class IntStack { private IntStackNode head; // IntStackNode是IntStack类的内部类 // 此内部类的每个实例都充当 // 有助于表示的整体堆栈 private static class IntStackNode { private int val; private IntStackNode next; private IntStackNode(int v, IntStackNode n) { val = v; next = n; } } public IntStack push(int v) { head = new IntStackNode(v, head); return this; } public int pop() { int x = head.val; head = head.next; return x; } }
及其使用(值得注意的是)根本不承认嵌套类的存在。
public class Main { public static void main(String[] args) { IntStack s = new IntStack(); s.push(4).push(3).push(2).push(1).push(0); //打印:0、1、2、3、4 for(int i = 0; i < 5; i++) { System.out.print(s.pop() + ", "); } } }