zoukankan      html  css  js  c++  java
  • STL— priority_queue

    一,基操

    top: 访问队头元素

    empty: 队列是否为空

    size: 返回队列内元素个数

    push: 插入元素到队尾 (并排序)

    emplace: 原地构造一个元素并插入队列

    pop: 弹出队头元素

    swap: 交换内容 

    二,<  的重载,按照 dis 的大小升序排序

    1,

    typedef struct node    // 队列里要放的应该是 点的 id 和 distance ,而不是一条边
    {
        int id;    
        int dis;   
    node(){} node(
    int a, int b) :id(a), dis(b) {} bool operator <(const node &a)const // < 的重载 { return a.dis < dis; } }st; priority_queue <st>q;

    2,

    typedef struct node    // 队列里要放的应该是 点的 id 和 distance ,而不是一条边
    {
        int id;
        int dis;
       node(){} node(
    int a, int b) :id(a), dis(b) {} friend bool operator <(const node &a,const node &b) // < 的重载 { return a.dis > b.dis; } }st; priority_queue <st>q;

    1,2 等效,为升序

    ========== ========= ======== ======= ====== ====== ==== === == =

    连自己喜欢什么都不敢尝试的话,终究连自己都看不起自己 

  • 相关阅读:
    Qt技巧、常用第三方库包含(qmake的.pro文件、CMakeLists.txt文件)
    STL资源
    debian 9 安装node angular
    debian 9 安装jenkins
    Consul 入门操作
    Docker 部署 postgresql 与 pgadmin4
    Docker File 与 Docker Compose
    Centos jdk
    Angular7 路由
    Centos Supervisor
  • 原文地址:https://www.cnblogs.com/asdfknjhu/p/12596117.html
Copyright © 2011-2022 走看看