STL优先级队列构造函数

时间:2013-10-02 15:21:13

标签: c++ stl std priority-queue

为什么优先队列有这个签名?

std::priority_queue<int, std::vector<int>, std::greater<int> > third;

需要什么std::vector<int>?例如,如果我只需要在队列中存储整数?

1 个答案:

答案 0 :(得分:2)

这些是priority_queue的模板参数。第二个是用于存储值的后备容器,在这种情况下,您使用vector(默认容器)。在上面的示例中,它被传递,以便您可以使用std::greater更改默认比较谓词(即,具有priority_queue,其中最小值位于顶部)。看一下班级宣言here