STL优先级队列递增

STL priority queue in increasing order

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

priority_queue<int>q;

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

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

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

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

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

你可以避免greater<int>。这就是新方法。为了 更多信息,请参阅 What are transparent comparators?