为什么80%的码农都做不了架构师?>>>
队列就是先进先出,没有什么难点。注意 Java 没有指针,相当于用嵌套的类模拟指针建成链表。
public class LinkedQueueOfStrings
{private class Node{String item;Node next;}private Node first, last;public void enqueue(String item){Node oldlast = last;last = new Node();last.item = item;last.next = null;if (isEmpty()) first = last;else oldlast.next = last;}String dequeue(){String item = first.item;first = first.next;if (isEmpty()) last = null;return item;}boolean isEmpty(){ return first == null; }int size(){int num = 0;for(Node i = first; i != last; i = first.next)num++;return num + 1;}public static void main(String[] argv){LinkedQueueOfStrings queue = new LinkedQueueOfStrings();queue.enqueue("huangyi");queue.enqueue("jiahai");System.out.println(queue.dequeue());}
}
参考
https://class.coursera.org/algs4partI-010/lecture/20