- 栈的主要操作
- void push(int data):将data(数据)插入栈
- int pop():删除并返回最后一个插入栈的
- 栈的辅助操作
- int top():返回最后一个插入栈的元素,但不删除
- int size():返回存储在栈中的元素的个数
- int isEmpty():判断栈中是否有元素
- int isStackFull():判断栈中是否满元素
- 实现
栈抽象数据类型有多种实现方式。下面是常用的方法:
- 基于简单数组的实现方法
- 基于动态数组的实现方法
- 基于链表的实现方法
1)基于简单数组实现:
public class Stack{
private int size;//栈的大小
private int top;//栈顶元素的下标
private char[] stackArray;//栈的容器
public Stack(int size){
stackArray = new char[size];
top = -1; //初始化栈的时候由于栈内没有元素,栈顶下标设为-1
this.size = size;
}
//入栈,栈顶的下标+1
public void push(char item){
stackArray[++top] = item;
}
//出栈,删除栈顶元素,栈顶元素的下标-1
public int pop