一直对堆栈的理解是先进先出和先进后出,今天试着模拟了一下堆的处理代码如下:
public class StackTest {
public int start=0;
public int end=-1;
public int count=0;
private int[] arr;
public StackTest() {
arr=new int[10];
}
public StackTest(int size) {
arr=new int[size];
}
/*
* 添加
* */
public void push(int value) {
if(count<arr.length) {
arr[++end]=value;
count++;
}else
System.out.println("已经到达最大数据量");
}
/*
* 弹出
* */
public int pop() {
if(count==0) {
System.out.println("已经没有数据了");
return 0;
}else {
count--;
return arr[start++];
}
}
/*
* 是否为空
* */
public boolean isEmpty() {
if(count==0)
return true;
else
return false;
}
/*
* 是否已经满了
* */
public boolean isFull() {
if(count==arr.length)
return true;
else
return false;
}
}