stack.java

来自「1.用堆栈实现表达式求值 2.随机生成带括号的表达式」· Java 代码 · 共 59 行

JAVA
59
字号
/**
 * 
 */
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 + =
减小字号Ctrl + -
显示快捷键?