我需要按顺序将数字存储在队列中 我使用了优先级队列,它首先存储更高的值,即按降序排列。
priority_queue<int>q;
是否可以订购它们? 我该怎么做才能使数据顺序增加?
答案 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?。