Java 实现后进先出(LIFO)
2007-04-11 16:45
155 查看
/**//*
* Author: Eric Zhang
* Created: 20074る11ら と 01:09:25
* Modified: 20074る11ら と 01:09:25
* For LIFO
*/
import java.util.*;
public class LinkedListStack ...{
private static class Node ...{
Object o;
Node next;
}
private Node top = null;
public boolean imEmpty() ...{
return top == null;
}
public Object peek() ...{
if (top == null)
throw new EmptyStackException();
return top.o;
}
public void push(Object o) ...{
Node temp = new Node();
temp.o = o;
temp.next = top;
top = temp;
//return o;
}
public Object pop() ...{
if (top == null)
throw new EmptyStackException();
Object o = top.o;
top = top.next;
return o;
}
public static void main(String args[]) ...{
LinkedListStack o = new LinkedListStack();
o.push("aa");
o.push("bb");
System.out.println(o.pop());
o.push("cc");
System.out.println(o.pop());
System.out.println(o.pop());
}
}
LinkedListStack表明栈由一个私有的顶层嵌套类Node和一个私有引用变量top构成,引用变量top初始化为null表示一个空栈。相对于一维数组实现的栈,LinkedListStack并不需要一个构造器,因为它能够随着数据项的压入动态扩展。这样,void push(Object o)就不需要抛出FullStackException对象。然而,Object pop()还是需要检查栈是否为空的,这可能会导致可抛的EmptyStackException对象。
相关文章推荐
- Stack和Queue:后进先出和先进先出和Java 实现后进先出(LIFO)及Stac和Java集合类: Set、List、Map、Queue使用场景梳理 - .Little Hann
- Java 实现下压(LIFO)栈
- 使用java实现后进先出的堆栈功能【笔试题】
- python实现堆栈 后进先出 LIFO
- 如何实现java的LIFO和FIFO
- java:stack栈: Stack 类表示后进先出(LIFO)的对象堆栈
- 浅谈Socket编程及Java实现
- java实现u盘内容的自动复制
- Java Socket发送与接收HTTP消息简单实现
- javascript实现原生的Java版本的HashMap及LinkedHashMap
- 用简单的Java代码实现斐波那契数列
- 各大IT公司算法和数据结构面试题整理Java实现
- Java实现二叉排序树的插入、查找、删除
- 黑马程序员_Java基础:实现多线程对共有数据的同步操作
- Effective Java Item12-考虑实现Comparable接口
- java实现获取中国大学名称列表、即所在省份
- 微信java开发之实现微信主动推送消息
- 每日一省之————红黑树的java实现
- 使用Java实现简易的HTTP服务器
- 用Java实现异构数据库的高效通用分页查询功能