public class ArrayToStack {
public static class array2stack {
private Integer[] arr;
private int index; //数组下标,每压入一个数则index加一, index实际上就是数组大小size
public array2stack(int initsize) { //构造器
if(initsize < 0) {
throw new IllegalArgumentException("Initsize is less than 0!");
}
arr = new Integer[initsize];
index = 0;
}
public Integer peek() { //显示栈顶的值,但不取出
if(index == 0) {
return null;
}
return arr[index - 1];
}
public void push(int obj) { //压栈操作
if(index == arr.length) {
throw new ArrayIndexOutOfBoundsException("the stack is full");
}
arr[index++] = obj;
}
public Integer pop() { //出栈操作
if(index == 0) {
throw new ArrayIndexOutOfBoundsException("the stack is empty");
}
return arr[--index];
}
}
public static void main(String[] arg) {
}
}