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;
}
}
