Version: Next

队列的实现

  • 队列是一种特殊的线性表,只能在头尾两端进行操作
----------------------------------------------
队尾(rear) 队头(front)
----------------------------------------------
  • 只能从左边,即队尾添加元素,称为入队enQueue
  • 只能从右边,即队头弹出元素,称为出队deQueue
  • 先进先出,First In First Out,FIFO

API

方法功能
int size()元素数量
boolean isEmpty()是否为空
void enQueue(E element)入队
E deQueue()出队
E front()获取队头元素
void clear()清空

实现

info

可以借助数组、链表实现

  • 推荐使用双向链表实现,因为它支持头尾操作,很像队列
MyQueue.java
/**
* 队列
* - 借助双向链表 LinkedList实现
*/
public class MyQueue<E> {
private List<E> list = new LinkedList<>();
public int size() {
return list.size();
}
public boolean isEmpty() {
return list.isEmpty();
}
public void enQueue(E element) {
// 在尾部添加
list.add(element);
}
public E deQueue() {
// 从头部弹出
return list.remove(0);
}
public E front() {
// 在头部获取
return list.get(0);
}
public void clear() {
list.clear();
}
}