2016-01-15算法1 分钟 读完 (大约 201 个字)算法4学习-1.3.3.9 Queue链表实现继续上一节,队列的实现,背包差不多就不写出来了。 代码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465import java.util.Iterator;/** * FIFO队列 Created by tuzhis on 2016年1月15日. */public class Queue<Item> implements Iterable<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 oldNode = last; last.item = item; last.next = null; if (isEmpty()) first = last; else oldNode.next = last; N++; } public Item dequeue() { Item item = first.item; first = first.next; if (isEmpty()) last = null; N--; return item; } @Override public Iterator<Item> iterator() { return new ListIterator(); } private class ListIterator implements Iterator<Item> { private Node current = first; @Override public boolean hasNext() { return current != null; } @Override public Item next() { Item item = current.item; current = current.next; return item; } }} 版权声明:本站原创个人文章 转载请注明出处 http://tuzhis.github.io #算法算法4Java