public class Stack<T>
{
private T[] VAl;
private int N=0;
private int Lenglh;
public Stack(int Len) {
Lenglh=Len;
VAl=(T[]) new Object[Len];
}
public void push(T val){
if (N==Lenglh)Resize(Lenglh*2);
VAl[N++]=val;
}
public void Resize(int Newlen){
T[] temp=(T[]) new Object[Newlen];
for (int i=0;i<N;i++){
temp[i]=VAl[i];
}
VAl= temp;
}
public T pop(){
T val=VAl[--N];
VAl[N]=null;
if (N>0&&N== VAl.length/4) Resize(VAl.length/2);
return val;
}
boolean isEmpty(){
return N==0;
}
int size(){
return N;
}
}
Java 实现栈
最新推荐文章于 2024-05-25 10:57:37 发布