62,628
社区成员
发帖
与我相关
我的任务
分享public class Test {
interface Stack<T>{
void push(T data);
T pop();
T peek();//返回栈顶元素
}
static class StackImpl<T> implements Stack<T>{
private T[] datas;
private int n;
public StackImpl (int length){//构造函数,创建长度为length的栈
datas=(T[]) new Object[length];
n=0;
}
public void push(T data){
if(n>=datas.length)//超出栈的长度
System.out.println("栈满!");
else{
datas[n]=data;
n++;
}
}
public T pop(){
if(n<0){
System.out.println("栈空!");
return null;
}
T data=datas[n-1];
datas[n-1]=null;
n--;
return data;
}
public T peek(){
return datas[n-1];
}
}
public static void main(String[] args){
//测试
Stack<Integer> stack= new StackImpl<>(10);
stack.push(1);
stack.push(2);
System.out.println("栈顶元素:"+stack.peek());
stack.push(3);
System.out.println("栈顶元素:"+stack.peek());
System.out.println("栈顶元素"+stack.pop()+"出栈后");
System.out.println("栈顶元素:"+stack.peek());
}
}