LinkedList實現Stack
public Class Stack<Item>{
private Node first = null;
private class Node{
Item item;
Node next;
}
public boolean isEmpty(){
return first == null;
}
public void push(Item item){
Node second = first;
first = new Node();
first.item = item;
first.next = second;
}
public Item pop(){
Item item = first.item;
first = first.next;
return item;
}
}
Array實現Stack
public Class Stack<Item>{
private Item[] s;
private int N = 0;
public Stack(int cap){
s= new Item[cap];
}
public boolean isEmpty(){
return N==0;
}
public void push(Item item){
s[N++] = item;
}
public Item pop(){
Item item = s[N-1];
s[N-1] = null;
N--;
return item;
}
}