定义栈的接口
public interface IStack<E> {
E push(E item); //入栈
E pop(); //出栈
E peek(); //取栈顶元素
int size(); //返回栈中元素的个数
boolean empty(); //判断栈是否为空
}
实现接口
import java.lang.reflect.Array;
public class SeqStack<E> implements IStack<E> {
private int maxsize;
private int top;
private E[] data;
public SeqStack(Class <E> type,int maxsize){
this.maxsize=maxsize;
top=-1; //栈为空top为-1
data = (E[])Array.newInstance(type, maxsize);
}
//入栈
public E push(E item) {
if(!isfull()){
data[++top]=item;
return item;
}
else
return null;
}
//取出栈顶数据
public E pop() {
if(!empty())
return data[top--];
else
return null;
}
public E peek() {
if(!empty()){
return data[top];
}
else
return null;
}
public int size() {
return top+1;
}
public boolean empty() {
if(top==-1)
return true;
else
return false;
}
public boolean isfull(){
if(top==maxsize-1)
return true;
else
return false;
}
}
Java栈实现详解
本文介绍了一个基于Java实现的栈接口及具体实现。定义了栈的基本操作如入栈、出栈等,并通过SeqStack类实现了这些功能。SeqStack使用数组作为底层数据结构,支持基本的栈操作并提供了检查栈满或空的方法。
1452

被折叠的 条评论
为什么被折叠?



