java数据结构 – 堆栈代码演示
来源:http://blog.csdn.net/sdliujiangbo/article/details/8069423
public class Stack { private int size; //栈中元素的个数 private int[] array;//存放栈中元素的数组 private int MaxSize;//栈空间的最大尺寸 //构造函数 public Stack(int size){ MaxSize = size; array=new int[MaxSize]; this.size=0; } //入栈 public void in(int number){ if(size>=MaxSize){ //栈已满 //1.得到一个新的大数组(2倍数组) int[] array_new=new int[2*array.length]; //2.数据转移 System.arraycopy(array, 0, array_new, 0, array.length); //3.改指向 array=array_new; } //栈没有满的时候 array[size]=number; size++; } //出栈 public int out(){ if(size==0){ //栈已经空了 return -404; }else{ //栈还可以出元素 int number=array[size-1]; size--; return number; } } //获取栈中元素的个数 public int getSize() { return size; } }