zoukankan      html  css  js  c++  java
  • C++ STL 学习笔记__(6)优先级队列priority_queue基本操作

    10.2.7优先级队列priority_queue

    v  最大值优先级队列、最小值优先级队列

    v  优先级队列适配器 STL priority_queue

    v  用来开发一些特殊的应用,请对stl的类库,多做扩展性学习

             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();

             }

    }

    #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<<"最小值优先级队列"<<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();
        }
    
    }
    void main()
    {
        main81();
        cout<<"hello..."<<endl;
        return;
    }

    资料来源:传智播客

  • 相关阅读:
    大数据-hive理论(2)DDL
    大数据-hive理论(1)基础,原理,安装
    大数据-hbase理论
    java-多线程与锁
    java-自定义注解
    java-filebeat+elk的数据传输
    java-es查询
    java-创建完整的springCloud项目
    【从零单排】详解 Log4j + Slf4j 等日志框架(上篇)
    IntelliJ 中 Git 报错 Could not read from remote repository
  • 原文地址:https://www.cnblogs.com/wuchuanying/p/6272297.html
Copyright © 2011-2022 走看看