今天 对栈有所学习 对栈的基本操作进行了了解 若不错误的地方 请大家斧正
public class stack{
//借助数组作为工具
private int[] array;
//栈的最大容量
private int size;
//栈的栈顶
private int top;
public stack(int size){
this.maxsize = size;
array = new int[maxsize];
top = -1;
}
//将元素压入栈内
public int push(int val){
//对于元素压入栈内 要判断添加上加入的元素 数量大小是否小于 //maxsize 注意数组是从0到maxsize-1的 所以最大的情况就是添加元 //素后 就达到了maxsize-1了
if(top < maxsize - 1){
array[++top] = val;
}
}
//获取栈顶元素
public int peek(){
//要判断栈顶元素是否存在
if(top == -1){
return ;
}
else{
return array[top];
}
}
//删除栈顶元素
public void remove(int top){
ele[top--] =null;
}
//弹出栈顶元素 弹出和删除是不一样的 前者是在有的情况下弹出
//先获取然后将栈顶元素删除了 而删除纯粹是将栈顶元素赋值为空了
public int pop(){
int t = peek();
remove(top);
return t;
this.top--;
}
//判断是否为栈满
public boolean isFull(){
//如果是的话 就是为真 返回true
return (top == maxsize - 1);
}
}