/**
* 顺序栈
*/
public class QequeAchieve {
private int size;
private int top;
private Object listArray[];
private static final int DEFAULTSIZE = 10;
public QequeAchieve() {
setup(DEFAULTSIZE);
}
QequeAchieve(int size) {
setup(size);
}
private void setup(int size){
this.size = size;
this.top = 0;
this.listArray = new Object[size];
}
/**
* 清空操作
* */
public void clear(){
this.top = 0;
}
/**
* 压栈操作 进栈是先自增再赋值,出栈则反过来。
* @throws Exception
* */
public void push(Object object){
if(this.top < this.size){
this.listArray[top++] = object;
}else{
System.out.println("Stack overflow!");
}
}
/**
* 弹出栈顶元素 先把要出栈的元素获取到,然后再指针自减,把空间释放出来。
* @throws Exception
* */
public Object pop(){
if(isEmpty()){
System.out.println("Stack is empty!");
return null;
}else{
return this.listArray[--top];
}
}
public boolean isEmpty(){
return this.top == 0;
}
public static void main(String[] args) {
QequeAchieve qequeAchieve=new QequeAchieve(3);
qequeAchieve.push("88");
qequeAchieve.push("99");
qequeAchieve.push("100");
qequeAchieve.push("110");
System.out.println(qequeAchieve.pop());
System.out.println(qequeAchieve.pop());
System.out.println(qequeAchieve.isEmpty());
qequeAchieve.clear();
System.out.println(qequeAchieve.isEmpty());
}
}