【问题标题】:STL priority queue in increasing order [duplicate]STL优先级队列按递增顺序[重复]
【发布时间】:2015-04-15 18:11:30
【问题描述】:

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

priority_queue<int>q;

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

【问题讨论】:

    标签: c++ stl priority-queue


    【解决方案1】:

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

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

    【讨论】:

    • 此解决方案运行良好。我只需要知道声明中vector的意义?
    【解决方案2】:

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

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

    你可以避开greater&lt;int&gt;。那是新的方式。为了 更多信息,请参阅What are transparent comparators?

    【讨论】:

      猜你喜欢
      • 2016-04-13
      • 1970-01-01
      • 2013-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多