stl优先级队列首先基于较低的值

rus*_*ell 1 c++ stl

我有stl优先级队列的问题.我希望优先级队列按递增顺序排列,默认情况下会减少.有没有办法在优先级队列中执行此操作.

构建stl优先级队列的复杂性是什么.如果我在一个数组中使用快速排序,其中采用O(nlgn)是其复杂性类似于使用优先级队列???

Plz某人ans.Advanced thanx.

Mik*_*our 28

  1. priority_queue具有模板参数,用于指定容器类型和用于排序的比较.默认情况下,比较是less<T>; 要获得相反的顺序,请使用priority_queue<T, vector<T>, greater<T>>.

  2. 插入优先级队列需要对数时间,因此构建N项目队列具有复杂性O(N logN),与构建和排序向量相同.但是一旦它被构建,插入优先级队列仍然是对数的,而插入到有序向量是线性的.


ken*_*ytm 8

使用类型

priority_queue<T, vector<T>, greater<T> >
Run Code Online (Sandbox Code Playgroud)