优先队列

头文件:

#include<queue>

1.整数越大优先级越高

priority_queue<int>pq;

2.整数越小优先级越高

priority_queue<int,vector<int>,greater<int> >pq;

3.结构体自定义优先级
原理:优先队列标准库中默认使用 “<” 操作符定义元素之间的优先级,所以自定义优先级时要重载 “<” 操作符。

struct node{
    int x,y;
    friend bool operator<(node a,node b){
        return a.x<b.x;            //结构体中x值小的优先
    }
};
struct node{
    int x,y;
    friend bool operator<(node a,node b){
        return a.x>b.x;            //结构体中x值大的优先
    }
};
priority_queue<node>pq;

你可能感兴趣的:(优先队列)