import java.util.EmptyStackException;
/**
* 定义自己的堆栈(用数组实现)
*
*/
public class MyStack<T> {
int i = 10;//堆栈的初始容量
T[] data;//泛型数组
int a = 0;//数组下标
public MyStack() {
data = (T[])new Object[i];
}
public MyStack(int i) {
data = (T[])new Object[i];
}
//压栈
public void push(T t) {
if(a == i) {
throw new StackOverflowError();
}
data[i-a-1] = t;
a++;
}
//出栈
public T pop() {
if(a==0) {
throw new EmptyStackException();
}
T t = data[i-a];
data[i-a] = null;
a--;
return t;
}
}
/**
* 定义自己的堆栈(用数组实现)
*
*/
public class MyStack<T> {
int i = 10;//堆栈的初始容量
T[] data;//泛型数组
int a = 0;//数组下标
public MyStack() {
data = (T[])new Object[i];
}
public MyStack(int i) {
data = (T[])new Object[i];
}
//压栈
public void push(T t) {
if(a == i) {
throw new StackOverflowError();
}
data[i-a-1] = t;
a++;
}
//出栈
public T pop() {
if(a==0) {
throw new EmptyStackException();
}
T t = data[i-a];
data[i-a] = null;
a--;
return t;
}
}