Advertisement

STL中的优先级队列 priority_queue

阅读量:

priority_queue是一种具备权重概念的队列结构,支持新元素的插入、旧元素的删除以及对元素值的查看操作。
鉴于其队列特性,仅允许在队列末端添加新元素,并从队列前端取出元素。

在默认配置下,priority_queue通过一个最大堆实现,该堆以vector形式表示,构成一个完全二叉树结构。
最大堆能够满足priority_queue所要求的“根据权重大小自动进行降序排列”的功能需求。


priority_queue定义:

复制代码
    template <class T, class Sequence = vector<T>, 
            class Compare = less<typename Sequence::value_type> >
    class priorrty_queue
    {
    public:
    typedef typename Sequence::value_type;
    typedef typename Sequence::size_type size_type;
    typedef typename Sequence::reference reference;
    typedef typename Sequence::const_reference const_refere

全部评论 (0)

还没有任何评论哟~