棧和隊列
- 棧是一種線性結構,相比數組
- 他對應的操作是數組的子集
- 只能從一端進入,也只能從一端取出
- 這一端成爲棧頂
棧是一種先進後出的數據結構,Last In First Out(LIFO)
- 程序調用的系統棧
- 棧的應用:無處不在的Undo操作(撤銷)
棧的實現
Stack<E>
- void push(E)
- E pop()
- E peek()
- int getSize()
- boolean isEmpty()
將自己寫的棧設置爲接口,然後用第一天的動態數組實現這個接口。因爲有了上一個自己做的動態數組,所以棧的形
成是非常方便的。
public class ArrayStack<E> implements Stack<E> {
DynamicArray<E> array;
public ArrayStack(int capacity){
array = new DynamicArray<E>(capacity);
}
public ArrayStack(){
array = new DynamicArray<E>();
}