栈的java实现
一.什么是栈?
栈是一个有序的线性表,只能在栈顶进行操作插入和删除操作。所以也叫先进后出表。
二.栈的应用场景
1.符号匹配
2.中缀表达式转换为后缀表达式
3.计算后缀表达式
4.实现函数调用
5.求范围误差
6.网页浏览器中已访问页面的历史纪录
7.文本编辑器中的撤销序列
8.作为算法辅助数据结构
三.栈的具体实现:
1.基于简单数组的实现
顾名思义,就是用数组实现栈的应用:
class ArrayStack{
//节点变量定义
private int top;
private int capacity;
private int[] array;
//无参构造方法
public ArrayStack()
{
capacity=1;
array=new int[capacity];
top=-1;
}
//有参构造方法
public ArrayStack(int a)
{
capacity=a;
array=new int[a];
top=-1;
}
//判断是否为空
public boolean isEmpty()
{
return (top==-1);
}
//判断是否满了
public boolean isStackFull()
{
return (top==capacity-1