📄 stack.java
字号:
/**
*
*/
package sasa.service;
/**
* @author sasa
*
* @version 1.0 2007-4-22 下午02:50:17
*/
public class Stack {
final int defaultSize = 10;
int top; //记录栈顶位置
Object[] ostack; //数组对象
int maxStackSize; //最大数据元素个数
public Stack(){
init(defaultSize);
}
public Stack(int sz){ //带参数构造函数
init(sz);
}
public void init(int sz){ //初始化
maxStackSize = sz;
top = 0;
ostack = new Object[sz];
}
public void push(Object obj) throws Exception{ //入栈
if(top == maxStackSize){
throw new Exception("堆栈已满!");
}
ostack[top] = obj; //保存元素
top++;
}
public Object pop() throws Exception{ //出栈
if(top == 0){
throw new Exception("堆栈已空!");
}
top--; //产生原栈顶位置
return ostack[top];
}
public Object getTop() throws Exception{ //取栈顶元素
if(top == 0){
throw new Exception("堆栈已空!");
}
return ostack[top-1]; //返回原栈顶元素
}
public boolean notEmpty(){ //非空否
return (top>0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -