Java实现数组栈
//栈的数组实现
public class ArrayStack {
private int maxSize;
private int top= -1;
private int[] stack;
// 初始化栈
public ArrayStack(int maxSize){
this.maxSize= maxSize;
stack= new int[maxSize];
}
// 判断栈是否已满
public boolean isFull(){
return maxSize-1== top;
}
// 判断栈是否为空
public boolean isEmpty(){
return top== -1;
}
// 向栈顶添加一个元素
public void push(int i){
if(isFull()){
System.out.println("栈已满");
return;
}
top++;
stack[top]= i;
}
// 取出栈顶元素
public int get(){
if(isEmpty()){
System.out.println("栈为空");
return -1;
}
int res= stack[top];
top--;
return res;
}
// 从栈顶起,遍历栈
public void list(){
if (isEmpty()){
System.out.println("栈为空");
return;
}
for(int i=top; i>= 0; i--){
System.out.println("stack[" +
i+"]=" +
stack[i]);
}
}
// 得到栈的规模
public int length(){
return top+1;
}
}