import java.util.LinkedList;
/*
*利用LinkedList来实现堆栈
*LinkedList容器具有有续性,以及插入删除方便的特征
*
*/
public class Stack<T>{
//建立一个链表保存数据
private LinkedList<T> stack;
public Stack(){
stack = new LinkedList<T>();
}
//入栈操作
public void push(T obj){
stack.addFirst(obj);
}
//获取栈顶元素
public T peek(){
//判断栈是否为空
if(!isEmpty()){
return stack.getFirst();
}else{
return null;
}
}
//出栈操作
public T pop(){
//判断栈是否为空
if(!isEmpty()){
return stack.removeFirst();
}else{
return null;
}
}
//判断栈是否为空
public boolean isEmpty(){
return stack.isEmpty();
}
//测试堆栈
public static void main(String[] args){
String[] list = "my name is beyondlife".split(" ");
Stack<String> stack = new Stack<String>();
for(String obj : list){
stack.push(obj);
}
while(stack.peek() != null){
System.out.print(stack.pop() + " ");
}
}
} |
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|