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以上)