C++优先队列的使用方法

#include<queue>
using namespace std;

priority_queue<int>q;                               //默认降序,同less
priority_queue<int,vector<int>,less<int> >q;        //降序 
priority_queue<int,vector<int>,greater<int> >q;     //升序

q.top() //取队首
q.size()//队列元素数目
q.pop() //弃队首

struct node{
    int v;
    bool operator < (node a)const{         //结构体内部重载< ,升序
        return a.v<v;           
    }
};
priority_queue<node>q;
bool operator < (node a,node b){           //在结构体外重载也可以,逻辑和sort的cmp相反。升序
    return b.v<a.v;     
}

猜你喜欢

转载自blog.csdn.net/u011737864/article/details/81428618