栈和队列
- 栈是一种线性结构,相比数组
- 他对应的操作是数组的子集
- 只能从一端进入,也只能从一端取出
- 这一端成为栈顶
栈是一种先进后出的数据结构,Last In First Out(LIFO)
- 程序调用的系统栈
- 栈的应用:无处不在的Undo操作(撤销)
栈的实现
Stack
- 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>(); }