八、队列(Queue)

2022-01-14  本文已影响0人  咸鱼Jay

队列(Queue)

\color{#00afef}{队列}是一种特殊的线性表,只能在\color{#ed7d30}{头尾两端}进行操作

队列(Queue)

队列的接口设计

int size(); // 元素的数量
boolean isEmpty(); // 是否为空
void clear(); // 清空
void enQueue(E element); // 入队
E deQueue(); // 出队
E front(); // 获取队列的头元素

思考:队列的内部实现是否可以直接利用之前讲解的数据结构?

public class Queue<E> {

    private List<E> list = new LinkedList<>();
    
    public int size() {
        return list.size();
    }
    
    public boolean isEmpty() {
        return list.isEmpty();
    }
    
    public void enQueue(E element) {// 官方的是offer(E e)
        list.add(element);
    }
    
    public E deQueue() {// 官方的是poll()
        return list.remove(0);
    }
    
    public E front() {// 官方的是peek()
        return list.get(0);
    }
 
    public void clear() {
        list.clear();
    }
}
上一篇下一篇

猜你喜欢

热点阅读