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;
}

运行结果:C++ priority_queue 当存储pair的默认排序方式_第1张图片

可见默认排序方式是先以first排序再以second排序

你可能感兴趣的:(C++,c++,排序算法,开发语言,stl)