1.0版本
//用一位数组模拟堆栈
public class StackHeap
{
int index = -1;//栈帧,初始值为-1
Object[] obj = new Object[3];//栈是一块空间,栈帧对应引用数据类型
//构造方法
public StackHeap(){}
public void push(Object x){
//先检查栈是否已满
if(index<2){
//进行推栈
obj[++index]=x;
}else{
//栈已满,提示不能入栈
System.out.print("栈已满,不能入栈\t");
}
//给一个反馈,推栈后的堆栈情况
show(obj);
}
public void pop(){
//先检查是否是空栈
if(index>-1){
obj[index--]=null;
}else{
System.out.print("是空栈,不能弹栈\t");
}
//给一个反馈,弹栈后的堆栈情况
show(obj);
}
public void show(Object[] obj){
for(int i = 0;i < obj.length;i++){
System.out.print(obj[i]+" ");
}
System.out.println("");
}
}
//测试类
class Test
{
public static void main(String[] args){
StackHeap stackheap = new StackHeap();
stackheap.push("你");
stackheap.push("好");
stackheap.push("美");