JAVA数组简单模拟栈
//用数组去模拟简单的压栈和出栈动作 public class MyStack01 { private Object[] stack; private int index=-1; public MyStack01() { this.stack = new Object[10]; } public Object[] getStack() { return stack; } public void setStack(Object[] stack) { this.stack = stack; } public int getIndex() { return index; } public void setIndex(int index) { this.index = index; } public void push(Object obj) {
//当内存满时 if (index >= stack.length-1) { System.out.println("内存已满,压栈失败"); return; } index ++; stack[index] = obj; System.out.println("压栈成功"+obj+"指针指向"+index); } public void pop() {
//栈内空时 if (index < 0) { System.out.println("栈内已空"); }else { System.out.println("弹栈元素成功"+stack[index]); index--; if (index == -1) { return; } System.out.println("现栈帧指向"+index); } } public static void main(String[] args) { MyStack01 myStack01 = new MyStack01(); //每调用一个元素就压栈一次 myStack01.push(new Object()); myStack01.push(new Object()); myStack01.push(new Object()); myStack01.push(new Object()); //每调用一个一次pop方法就弹栈一次 myStack01.pop(); myStack01.pop(); myStack01.pop(); myStack01.pop(); myStack01.pop(); } }