定义
栈一个动态集合,仅允许在线性表一端进行数据的存取操作。
栈的基础操作
1、基础数值定义
数值名称 | 数值类型 | 数值用途 |
---|---|---|
a | int[] | 栈的主体 |
size | int | 栈的大小 |
top | int | 栈顶坐标 |
2、基础函数操作
(1)栈的构建
public Stack(int maxsize) { //构建初始栈大小
this.size = maxsize;
this.a = new int[size];
this.top = -1;
}
(2)栈顶元素查询
public int peek() { //查询栈顶的值
if(this.isEmpty()){
System.out.println("Stack is empty");
return 0;
}
return a[top];
}
(3)入栈
public void push(char value){ //入栈
if(this.isFull()){
System.out.println("stack is full");
return ;
}
a[++top] = value;
}
(4)出栈
public int pop(){ //出栈
if(this.isEmpty()){
System.out.println("Stack is empty");
return 0;
}
return a[top--];
}
(5)栈的大小
public int size(){ //栈的大小
return top+1;
}
(6)栈空判断
public boolean isEmpty(){ //判断栈是否为空
return (top == -1);
}
(7)栈满判断
public boolean isFull(){ //判断栈是否满
return (top == size -1);
}
(8)栈的打印
public void display(){ //打印栈
for(int i = top; i >= 0; i--){
System.out.println(a[i]+" ");
}
System.out.println(" ");
}