注意:栈和队列都是一种特殊的线性表
1.栈
- 先进后出(First In Last Out FILO)
- 后进先出(Last In First Out LIFO)
- 栈顶:top 栈底:bottom
- 栈顶指当前水平面的位置
1.1操作
- 初始化
- 压栈、弹栈
- 查找当前栈顶元素
- 判断为空
- 返回元素个数
- push 放入数据 压栈
- pop 删除数据 弹栈
1.3 实现:
链表可以,LinkedList push/pop 头插、头删
顺序表可以,Stack(Class) 尾插、尾删
Stack(class)--------->Vector(class) (基本废弃了) -------->List(interface)
自己的实现:利用顺序表实现一个栈;
import java.util.Arrays;
//栈的方法
public class MyStack {
private int [] array=new int [10];
private int size=0;
private void ensureCapacity(){
if(size<array.length){
return;
}
array= Arrays.copyOf(array,2*array.length);
}
//将元素推到栈顶