STL优先级队列按递增顺序排列

时间:2015-04-15 18:11:30

标签: c++ stl priority-queue

我需要按顺序将数字存储在队列中 我使用了优先级队列,它首先存储更高的值,即按降序排列。

priority_queue<int>q;

是否可以订购它们? 我该怎么做才能使数据顺序增加?

2 个答案:

答案 0 :(得分:5)

要按递增顺序存储值,您只需更改优先级队列的声明:

priority_queue<int, vector<int>, greater<int> >q;

答案 1 :(得分:2)

以防万一,在C ++ 14中你可以这样做:

priority_queue<int, vector<int>, greater<>> q;

您可以避免greater<int>。这是新的方式。对于 更多信息,请参阅What are transparent comparators?