来自http://www.cplusplus.com/reference/queue/priority_queue/priority_queue/

//initialize (1)    
explicit priority_queue (const Compare& comp = Compare(),
                         const Container& ctnr = Container());


//range (2) 
template <class InputIterator>
         priority_queue (InputIterator first, InputIterator last,
                         const Compare& comp = Compare(),
                         const Container& ctnr = Container());

基于类似问题的答案,我正在使用

priority_queue<int, vector<int>, greater<int> > pq

但是,此定义与参考站点中给定的1或2不匹配。 那么这个初始化如何工作?

===============>>#1 票数:3 已采纳

您只在查看构造函数的参考。

您需要查看的模板参数列表是类模板本身的模板参数列表:

template<
    class T,
    class Container = std::vector<T>,
    class Compare = std::less<typename Container::value_type>
> class priority_queue;

您要实例化一个std::priority_queue ,同时显式地指定所有三个模板参数,并使用第一个构造函数(这不是函数模板,第二个构造函数是)并采用其两个参数的默认值。

  ask by claudius translate from so

未解决问题?本站智能推荐:

2回复

STL优先级队列的初始化

我仍然对STL中的优先级队列感到困惑。 我要达到的目标是这样的:我有一个称为Record的结构,其中包含一个字符串单词和一个int计数器。 例如:我有很多这些记录(在示例程序中只有5条),现在我想保留前N条记录(在示例3中)。 我现在知道我可以在Record中重载运算符<,并将所
1回复

C ++ Stl中的优先级队列

我想设计一个优先级队列,该队列在t []值较低的元素的优先级最高。 这件事我能实现。 但是我也希望s []值为零的元素应该在末尾(不管它们的t []值如何)我该如何修改我的代码?
2回复

C ++ stl优先级队列构造函数

我编写了以下代码以接受许多输入,然后以特定顺序输出它们。 但是,当我编译代码时,在上面标记的行上会显示一个编译错误: 我认为我没有正确地声明job priority_queue。 另外,请解释声明中第二个参数的重要性(即向量,我真的不知道它的用法)
1回复

C ++ STL优先级队列未正确排序

我想要一个向量的Waypoint *对象,这些对象经过排序,以使距离最小的航点位于队列的顶部。 这是我的比较类: 这是我初始化队列的方式: 每当我更新航路点的距离时,我的队列似乎都无法正确重新排序。 像本示例一样,距离值最小的Waypoint对象是否不应该位于队列的后部(
4回复

在STL优先级队列C ++中实现decreaseKey

我正在尝试实现Prim的算法,为此我需要为优先级队列使用reduceKey方法(以更新优先级队列中的键值)。 我可以在STL优先级队列中实现吗? 如果它有帮助,这是我遵循的算法: 对于图G中的每个顶点u 将你的关键设置为INFINITY 将u的父级
2回复

stl中的优先级队列

我按照文章学习了使用stl的priority_queue编写hanffman编码方法的方法,但是我认为最终代码中有一些错误,或者没有更新。 主要问题是priority_queue的声明,我认为它应该采用三个参数,例如:priority_queue <节点,向量,更大> q,而不是p
2回复

stl c ++优先级队列可以与stl set一起使用吗?

我的问题与是否有一个Queue(PriorityQueue)实现是一样的? 除了这个是关于c ++和stl。 是否可以使用stl优先级队列和stl set作为容器类? 如果没有,是否有一个替代容器类,我可以使用优先级队列来使它成为一个集合?
2回复

C ++ STL优先级队列使用什么堆结构?

具体来说,STL优先级队列容器适配器使用哪种堆变体? 我正在使用我自己的手动滚动二进制堆和双桶结构实现进行基准测试,所以只是想知道。 任何有趣的实施知识的奖励积分!
6回复

基于较低值的stl优先级队列优先

我对stl优先级队列有问题。我想让优先级队列按升序排列,默认情况下按降序排列。是否有任何方法可以在优先级队列中执行此操作。 构建stl优先级队列的复杂性是什么?如果我在采用O(nlgn)的数组中使用快速排序,那么它的复杂性类似于使用优先级队列? 请某人回答。高级thanx。
6回复

STL优先级队列 - 删除项目

我想使用C ++ STL priority_queue容器适配器实现计时器排队系统。 我的问题是我偶尔会取消一个计时器,但是没有接口可以让我轻松删除priority_queue中不是顶级项目的项目。 有什么建议么?。 谢谢您的帮助。