怎么理解队列:先进者先出,这就是队列。
这里回顾下 栈:用数组实现的栈叫 顺序栈,用链表实现的栈叫 链式栈。
这里,用数组实现的队列叫 顺序队列,用链表实现的队列叫 链式队列。
对于栈来说,我们需要一个栈顶指针即可,但是对于队列来说,我们需要两个指针,一个head指针,指向头,一个tail指针,指向尾部。
————————————————————Java中队列数据结构汇总————————————————————
数组实现的队列:
ArrayDeque 源码~~~~~~~~~
transient Object[] elements;
transient int head;
transient int tail;
链表实现的队列:
LinkedList 源码
transient Node<E> first;
transient Node<E> last;
private static class Node<E> {
E item;
Node<E> next;
Node<E> prev;
Node(Node<E> prev, E element, Node<E> next) {
this.item = element;
this.next = next;
this.prev = prev;
}
}