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 No Install zip安装方法
    xaml中绑定单例属性
    wpf 绑定ObservableCollection 的Count属性
    ItemsControl 使用Grid布局
    C# 读取oracle 中文乱码的解决方案
    wpf datagrid 行双击事件
    wpf鼠标捕获与控件交互——UIElement.CaptureMouse
    Mysql备份还原
    删除_desktop.ini病毒文件
    揭露【誉思云】打码软件的诈骗骗局!誉思云是骗人的,不要再浪费钱财!
  • 原文地址:https://www.cnblogs.com/txwtech/p/12308328.html
Copyright © 2011-2022 走看看