一)栈
栈:先进后出、后进先出
二)用单链表实现栈
第一步:初始化单链表结构
/**
* 用单链表实现栈
* @author ouyangjun
*/
public class SingleChainTableStack<E> {
/** 初始化单链表结构 */
static class Node<E> {
E item; // 数据域
Node<E> next; // 指针域, 指向下一个结点
Node(E x) { item = x; }
}
private Node<E> head; // 指向头部结点
private final AtomicInteger count = new AtomicInteger(); // 单链表结点数量
}
第二步:进栈。当添加结点时,把新结点作为新的头部head结点。
/** 进栈 */
public E push(E e) {
if (e == null) throw new NullPointerException();
Node<E> newNode = new