public interface StackInterface { public boolean isEmpty(); public boolean isFull(); public boolean push(Object object); public Object pop(); public Object peek(); //获取栈顶元素 }
public class JavaStack implements StackInterface { public Object[] table; public int top; /**不带参数的构造器,构造10个储存单元*/ public JavaStack(){ table = new Object[10]; top = -1; } public JavaStack(int stackNum){ table = new Object[stackNum]; top = -1; } @Override public boolean isEmpty() { return (top == -1); } @Override public boolean isFull() { return (top >= table.length -1); } @Override public boolean push(Object object ) { if(!isFull()){ table[++top] = new Object(); table[top] = object; return true; } System.out.println("栈满,无法执行入栈操作!"); return false; } @Override public Object pop() { Object object = null; if(!isEmpty()){ object = table[top]; table[top] = null; top--; } return object; } @Override public Object peek() { if(!isEmpty()){ return table[top]; } return null; } }
java定义栈
最新推荐文章于 2023-03-21 15:02:33 发布