cb05a_c++_STL优先级队列priority_queue_less_greater

/*cb05a_c++_STL优先级队列priority_queue
自适应容器(容器适配器):不能使用list,list不能使用随机操作
最大值优先级队列,
//把数据放在队列里面是,最大的始终都是放在最前面。
最小值优先级队列
//把数据放在队列里面是,最小的始终都是放在最前面。
优先级队列适配器,STL priority_queue
priority_queue<int,deque<int>> pq;
priority_queue<int,vector<int>> pq;

priority_queue<int, vector<int>> pq;//默认最大值优先级,它的谓词是less<int>,如:priority_queue<int,vector<int>,less<int>> pq1,大到小
priority_queue<int, deque<int>,greater<int>> pq2; //最小值优先级,greater<int>谓词,小到大

pq.empty();
pq.size();
pq.top();
pq.pop();
pq.push(item);
*/

 1 /*cb05a_c++_STL优先级队列priority_queue
 2 自适应容器(容器适配器):不能使用list,list不能使用随机操作
 3 最大值优先级队列,
 4 //把数据放在队列里面是,最大的始终都是放在最前面。
 5 最小值优先级队列
 6 //把数据放在队列里面是,最小的始终都是放在最前面。
 7 优先级队列适配器,STL priority_queue
 8 priority_queue<int,deque<int>> pq;
 9 priority_queue<int,vector<int>> pq;
10 
11 priority_queue<int, vector<int>> pq;//默认最大值优先级,它的谓词是nice?next?
12 priority_queue<int, deque<int>,greater<int>> pq2; //最小值优先级,greater<int>谓词
13 
14 pq.empty();
15 pq.size();
16 pq.top();
17 pq.pop();
18 pq.push(item);
19 */
20 #include <iostream>
21 #include <vector>
22 #include <queue>//最大最小优先级都在这个头文件里面的
23 
24 using namespace std;
25 
26 int main()
27 {
28     priority_queue<int, vector<int>> pq;//默认最大值优先级,它的谓词是less<int>如:priority_queue<int,vector<int>,less<int>> pq1;
29     priority_queue<int, deque<int>,greater<int>> pq2; //最小值优先级,它的谓词是greater<int>
30 
31     priority_queue<int> pq3;//默认是适配vector
32 
33     pq3.push(20);
34     pq3.push(30);
35     pq3.push(10);
36     cout << "优先级队列里面有多少个数据呢: "<<pq3.size() << endl;
37     cout << pq3.top() << endl;
38     while (!pq3.empty())
39     {
40         cout << "从优先级队列里面删除: " << pq3.top() << endl;
41         pq3.pop(); //从最前面的数据开始删除,总是删除的最大的数据。
42     }
43 
44     pq2.push(20);
45     pq2.push(30);
46     pq2.push(10);
47     cout << "最小优先级队列里面有多少个数据呢: " << pq2.size() << endl;
48     cout << pq2.top() << endl;
49 
50 
51     return 0;
52 }

 

原文链接: https://www.cnblogs.com/txwtech/p/12308328.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    cb05a_c++_STL优先级队列priority_queue_less_greater

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/329244

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月1日 下午5:03
下一篇 2023年3月1日 下午5:03

相关推荐