爱程序网

栈的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         else
10             return false;
11     }
12     //判满
13     public boolean IsFull(){
14         if(top==maxSize-1)
15             return true;
16         else
17             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冬考研

关于爱程序网 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助