pair类型在priority_queue中是如何排序的

Posted zhangqiling

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pair类型在priority_queue中是如何排序的相关的知识,希望对你有一定的参考价值。

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef pair<int,int> node_pair;
 4 int main(){
 5     priority_queue<node_pair,vector<node_pair>,greater<node_pair> > q;
 6     q.push(make_pair(10,5));
 7     q.push(make_pair(5,15));
 8     q.push(make_pair(5,10));
 9     while(!q.empty()){
10         node_pair t = q.top();
11         q.pop();
12         cout << t.first << " " << t.second << endl;
13     }
14     return 0;
15 }
16 
17 /*
18     输出:
19         5 10
20         5 15
21         10 5 
22     总结:
23         pair类型放入优先队列中总是先比较first的大小,相同在比较second的大小 
24 */

 

以上是关于pair类型在priority_queue中是如何排序的的主要内容,如果未能解决你的问题,请参考以下文章

C++ priority_queue 当存储pair的默认排序方式

C++ priority_queue 当存储pair的默认排序方式

C++ 优先队列 堆 priority_queue的使用 以及内部使用结构化pair的排序的用法 auto在其中的用法(结构化绑定 C++17以上)

C++ 优先队列 堆 priority_queue的使用 以及内部使用结构化pair的排序的用法 auto在其中的用法(结构化绑定 C++17以上)

STL(pair map set vector priority_queue) poj 3297

对pair优先队列如何使小值先出队列 即按pair第一个元素排序 小的先出