队列的特点是先进先出。
基于链表的队列
public class LinkedListQueue<Item> { private Node first; // 指向最早添加进队列的元素 private Node last; // 指向最后添加进队列的元素 private int N; // 队列中的元素 private class Node { Item item; Node next; } public boolean isEmpty() { return first == null; } public int size() { return N; } public void enQueue(Item item) { // 入队,即向链表尾部添加结点 Node oldlast = last; last = new Node(); last.item = item; last.next = null; if (isEmpty()) { first = last; } else { oldlast.next = last; N++; } } public Item deQueue() { // 出队,即从链表头部删除结点 Item item = first.item; first = first.next; if (isEmpty()) { last = null; } N--; return item; } }