为什么优先队列有这个签名?
std::priority_queue<int, std::vector<int>, std::greater<int> > third;
需要什么std::vector<int>
?例如,如果我只需要在队列中存储整数?
答案 0 :(得分:2)
这些是priority_queue
的模板参数。第二个是用于存储值的后备容器,在这种情况下,您使用vector(默认容器)。在上面的示例中,它被传递,以便您可以使用std::greater
更改默认比较谓词(即,具有priority_queue
,其中最小值位于顶部)。看一下班级宣言here。