zoukankan      html  css  js  c++  java
  • 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 }
    欢迎讨论,相互学习。 txwtech@163.com
  • 相关阅读:
    MySql
    027 mysql
    navicat
    基于阿里云资源的分布式部署方案
    translate(50%,50%) 实现水平垂直居中
    SSH2 协议详解
    DNS服务配置篇 巴哥学Server2003
    Java 8 后的新功能梳理
    IBM Cognos BI 最佳实践系列 网站地址
    jsf2.0 入门视频 教程
  • 原文地址:https://www.cnblogs.com/txwtech/p/12308328.html
Copyright © 2011-2022 走看看