admin管理员组

文章数量:1624352

我们知道当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排序

本文标签: 方式priorityqueuepair