1.头文件
#include <queue>
2.定义
priority_queue< typename > name;
3.相关的操作
(1) top() 访问队首
(2) push()
(3) pop()
(4) empty()
(5) size()
4.元素的优先级设置
4.1基本类型的优先级设置
/*例如:int double char */
priority_queue<int> p; //默认的大顶堆,就是先输出大数据 "5 4 3 2 1"
priority_queue<int, vector<int>, greater<int> > p; //小顶堆,先输出小数据 "1 2 3 4 5"
4.2结构体的优先级设置
重载了<
符号
#include <queue>
using namespace std;
struct msg{
char mse[12];
int priority;
//重载
friend bool operator < (msg a, msg b) {
return a.priority > b.priority;
}
};
priority_queue<msg> pq;
5.参考
参考书籍:
« 算法笔记»