栈和队列
- 栈是一种线性结构,相比数组
- 他对应的操作是数组的子集
- 只能从一端进入,也只能从一端取出
- 这一端成为栈顶
栈是一种先进后出的数据结构,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>();
}