数据结构笔记总结(7.6)基于堆的优先队列

基于堆的优先队列

数据结构笔记总结(7.6)基于堆的优先队列
之前我们已经实现了最大堆,对于优先队列其底层可以使用最大堆来实现,通过最大堆这种数据结构的底层去实现优先队列是及其容易的,近乎所有接口都可以直接复用来完成优先队列这种数据结构。

代码演示

我们复用队列的接口,创建一个新的class,叫做PriorityQueue

public class PriorityQueue> implements Queue {

    private MaxHeap maxHeap;

    public PriorityQueue(){
        maxHeap = new MaxHeap<>();
    }

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

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

    @Override
    public E getFront(){
        return maxHeap.findMax();
    }

    @Override
    public void enqueue(E e){
        maxHeap.add(e);
    }

    @Override
    public E dequeue(){
        return maxHeap.extractMax();
    }
}

源码下载

[dm href=’https://www.jikewenku.com/product/1487.html’]下载地址[/dm]

导航目录

[dm href=’https://www.jikewenku.com/geeknote/2241.html’]查看导航[/dm]

本站所有文章均来自互联网,如有侵权,请联系站长删除。极客文库 » 数据结构笔记总结(7.6)基于堆的优先队列
分享到:
赞(0)

评论抢沙发

评论前必须登录!