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 }
总结:
- 类成员变量要赋初值(习惯)
- maxSize在C++中使用了宏定义,在Java中数组不需要预先设定长度,但一旦设定也无法更改,待改进(使用静态变量)
- 线性栈,via2015冬考研
原标题:栈的Java实现
关键词:JAVA