数组模拟栈(超简易代码)"/>
如何用数组模拟栈(超简易代码)
/*** 用数组模拟栈*/
public class MyStack1 {private int[] arr;private int maxSize;private int top; // 栈 顶的位置public MyStack1(int maxSize){this.maxSize=maxSize;arr=new int[maxSize];top=-1;}// 显示栈中的所有数据public void display(){for(int i=top;i>=0;i--){System.out.print(arr[i]+" ");}System.out.println();}// 压入数据public void push(int value){if(top==maxSize-1){System.out.println("栈已满 不能存入");return;}if(top<maxSize-1){arr[++top]=value;}}// 弹出数据public int pop(){// 判断栈是否为空if(top==-1){System.out.println("栈为null栈 不能弹出");throw new RuntimeException("栈为null栈 不能弹出");}return arr[top--];}// 判断是否为null栈public boolean isEmpty(){return top==-1;}// 判断是否为满栈public boolean isFull(){return top==maxSize-1;}// 栈置为null栈public void makeNull(){top=-1;}public static void main(String[] args) {MyStack1 stack = new MyStack1(4);stack.push(1);stack.push(2);stack.push(3);stack.push(4);stack.display();stack.push(5);stack.pop();stack.pop();stack.pop();stack.pop();stack.pop();}
}
更多推荐
如何用数组模拟栈(超简易代码)
发布评论