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();
}
}