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)
还没有任何评论哟~
