priority_queue<Type, Container, Functional>优先队列

priority_queue
Type 就是数据类型,Container 就是容器类型(Container必须是用数组实现的容器,比如vector,deque等等,但不能用 list。STL里面默认用的是vector),Functional 就是比较的方式,当需要用自定义的数据类型时才需要传入这三个参数,使用基本数据类型时,只需要传入数据类型,默认是大顶堆

//升序队列

priority_queue ,greater > q;

//降序队列

priority_queue ,less >q;

    //对于基础类型 默认是大顶堆
    priority_queue a; 
    //等同于 priority_queue, less > a;
    
    //             这里一定要有空格,不然成了右移运算符↓
    priority_queue, greater > c;  //这样就是小顶堆

类似于,可以在任何时候插入元素,并且只能检索最大堆元素(优先级队列顶部的元素)。类似于,可以在任何时候插入元素,并且只能检索最大堆元素(优先级队列顶部的元素)。

你可能感兴趣的:(C++笔记,c++)