1.greater是降序
2.less是升序
3.具体代码样例
#include<stack>
#include<iostream>
#include<queue>
using namespace std;
int main() {
int a[] = {22,33,45,666,777,8, 120, 234};
priority_queue<int, vector<int>, less<int>> q; // less :从小到大排序 , greater:从大到小排序
for(auto m: a) {
if(q.size() < 3) {
q.push(m);
} else {
if(m < q.top()) {
q.push(m);
if(q.size() > 3) {
q.pop();
}
}
}
}
cout<<"现在展示第三小的数:"<<q.top()<<endl;
return 0;
}