【恋上数据结构与算法】优先级队列 PriorityQueue


持续学习&持续更新中…


【恋上数据结构与算法】优先级队列 PriorityQueue

优先级队列 PriorityQueue

在这里插入图片描述

应用场景举例

在这里插入图片描述

优先级队列的底层实现

在这里插入图片描述

实现

public class PriorityQueue<E> implements Queue<E> {
    
    

    private BinaryHeap<E> maxHeap;

    public PriorityQueue() {
    
    
        this(null);
    }

    public PriorityQueue(Comparator<E> comparator) {
    
    
        maxHeap = new BinaryHeap<>(comparator);
    }

    @Override
    public int size() {
    
    
        return maxHeap.size();
    }

    @Override
    public void clear() {
    
    
        maxHeap.clear();
    }

    @Override
    public boolean isEmpty() {
    
    
        return maxHeap.isEmpty();
    }

    @Override
    public void enQueue(E element) {
    
    
        maxHeap.add(element);
    }

    @Override
    public E deQueue() {
    
    
        return maxHeap.remove();
    }

    @Override
    public E front() {
    
    
        return maxHeap.get();
    }

}

参考

小码哥李明杰老师课程: 恋上数据结构与算法 第一季.


本文完,感谢您的关注支持!


猜你喜欢

转载自blog.csdn.net/weixin_44018671/article/details/121571393