你的位置:首页 > Java教程

[Java教程]栈的Java实现


 1 public class Stack { 2   private int maxSize=2;//栈容量,初始为2,(用于表达式求值,操作数栈) 3   private int top=-1;//栈顶指针 4   private int[] data=new int[maxSize];//数据 5   //判空 6   public boolean IsEmpty(){ 7     if(top==-1) 8       return true; 9     else10       return false;11   }12   //判满13   public boolean IsFull(){14     if(top==maxSize-1)15       return true;16     else17       return false;18   }19   //圧栈20   public boolean Push(int elem){21     if(IsFull())22       return false;23     else{24       data[++top]=elem;25       return true;26     }27   }28   //出栈29   public int Pop(){30     if(IsEmpty()){31       return -65535;32     }33     else{34       return data[top--];35     }36   }37 }

总结:

  1. 类成员变量要赋初值(习惯)
  2. maxSize在C++中使用了宏定义,在Java中数组不需要预先设定长度,但一旦设定也无法更改,待改进(使用静态变量)
  3. 线性栈,via2015冬考研