STL之优先级队列priority_queue

1.优先级队列priority_queue

1)最大值优先级队列、最小值优先级队列

2)优先级队列适配器 STL priority_queue

 

priority_queue<int, deque<int>>   pq;

priority_queue<int, vector<int>>   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> > p1; //相当于这样写
    priority_queue<int, vector<int>, greater<int>> p2; //最小值优先级队列

    p1.push(33);
    p1.push(11);
    p1.push(55);
    p1.push(22);
    cout <<"队列大小" << p1.size() << endl;
    cout <<"队头" << p1.top() << endl;

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

    cout << "测试 最小值优先级队列" << endl;
    p2.push(33);
    p2.push(11);
    p2.push(55);
    p2.push(22);
    while (p2.size() > 0)
    {
        cout << p2.top() << " ";
        p2.pop();

    }
}

 

posted @ 2018-10-13 16:17  gd_沐辰  阅读(211)  评论(0编辑  收藏  举报