C++ priority_queue 当存储pair的默认排序方式
Posted weixin_43739821
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ priority_queue 当存储pair的默认排序方式相关的知识,希望对你有一定的参考价值。
我们知道当priority_queue不指定排序方式是默认是大根堆,但如果存储的是pair类型的时候呢?
int main()
priority_queue<pair<int, int> > myqueue;//这里>>之间加空格,防止误认为是右移运算符
myqueue.emplace(5, 7);//这里不能写push,emplace是先构造再插入
myqueue.emplace(4, 8);
myqueue.emplace(5, 8);
myqueue.emplace(4, 7);
while (!myqueue.empty())
cout << myqueue.top().first << " " << myqueue.top().second << endl;
myqueue.pop();
return 0;
运行结果:
可见默认排序方式是先以first排序再以second排序
以上是关于C++ priority_queue 当存储pair的默认排序方式的主要内容,如果未能解决你的问题,请参考以下文章
C++入门stack和queue适配器介绍+ priority_queue的模拟实现仿函数基本概念提及