队列是一种特殊的线性表,只能在头尾两端进行操作
-
队尾(rear):只能从队尾添加元素,一般叫做 enQueue,入队
-
队头(front):只能从队头移除元素,一般叫做 deQueue,出队
-
先进先出的原则,First In First Out,FIFO
双端队列(Deque)
◼ 双端队列是能在头尾两端添加、删除的队列,英文 deque 是 double ended queue
public class Deque<E> {
private List<E> list = new LinkedList<>();
public int size() {
return list.size();
}
public boolean isEmpty() {
return list.isEmpty();
}
public void clear() {
list.clear();
}
public void enQueueRear(E element) {
list.add(element);
}
public E deQueueFront() {
return list.remove(0);
}
public void enQueueFront(E element) {
list.add(0, element);
}
public E deQueueRear() {
return list.remove(list.size() - 1);
}
public E front() {
return list.get(0);
}
public E rear() {
return list.get(list.size() - 1);
}
}