public class Stack<Item> { private Node first;//栈顶 private int N;//元素数量 private class Node{ Item item; Node next; } public boolean isEmpty() { return first== null;} // 或:N=0 public int size() {return N;} public void push(Item item){ Node olderfirst= first; fist = new Node(); first.item=item; first.next=olderfirst; N++; } public Item pop(){ Item item= first.item; first=first.next; N--; return item; } }
优点:
* 它可以处理任意类型的数据*
* 所需的空间总是和集合的大小成正比*
* 操作所需的时间总是和集合的大小无关*