【STL】priority_queue

  • 最大值优先级队列、最小值优先级队列
  • 优先级队列适配器 STL priority_queue
  • 用来开发一些特殊的应用
    priority_queue<int, deque> pq;
    priority_queue<int, vector>pq;
    pq.empty()
    pq.size()
    pq.top()
    pq.pop()
    pq.push(item)


#include <iostream>
using namespace std;
#include "queue"

void main81()
{
	priority_queue<int> p1 ; //默认情况下 是 最大值优先级队列 
	priority_queue<int , vector<int>, less<int>> p2; //提前定义好的预定义函数  谓词
	priority_queue<int , vector<int>, greater<int> >  p3; //最小值优先级队列

	p1.push(33);
	p1.push(11);
	p1.push(55);
	p1.push(22);

	cout << "队头元素:" << p1.top() <<endl;
	cout << "队列的大小:" << p1.size() << endl;

	while (p1.size() > 0 )
	{
		cout << p1.top() << " ";
		p1.pop();
	}

	cout << "测试 最小值优先级队列 " << endl;

	p3.push(33);
	p3.push(11);
	p3.push(55);
	p3.push(22);

	cout << " 最小值优先级队列 队头元素:" << p3.top() <<endl;
	cout << " 最小值优先级队列 队列的大小:" << p3.size() << endl;

	while (p3.size() > 0 )
	{
		cout << p3.top() << " ";
		p3.pop();
	}

}

int main()
{
	main81();
	return 0;
}
原文地址:https://www.cnblogs.com/tazimi/p/13323885.html