package com.lzq;
public interface Stack {
public void push(Object obj) throws Exception;
public Object pop()throws Exception;
public Object getTop()throws Exception;
public boolean notEmpty();
}
class SeqStack implements Stack{
final int defaultSize=10;
int top;
Object[] stack;
int maxStackSize;
public SeqStack(){
initiate(defaultSize);
}
public SeqStack(int sz){
initiate(sz);
}
void initiate(int sz) {
// TODO 自动生成方法存根
maxStackSize=sz;
top=0;
stack=new Object[sz];
}
public Object getTop() throws Exception {
// TODO 自动生成方法存根
if(top==0){
throw new Exception("堆栈以空");
}
return stack[top-1];
}
public boolean notEmpty() {
// TODO 自动生成方法存根
return(top>0);
}
public Object pop() throws Exception {
// TODO 自动生成方法存根
if(top==0){
throw new Exception("退栈以空");
}
top--;
return stack[top];
}
public void push(Object obj) throws Exception {
// TODO 自动生成方法存根
if(top==maxStackSize){
throw new Exception("退栈已满!");
}
stack[top]=obj;
top++;
}
}
评论列表( 0 )
你可以在登录后,发表评论