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;
}
}