优先队列
优先队列其实是个堆,其中分为大根堆和小根堆
顾名思义,大根堆的根节点最大,小根堆的根节点最小
在优先队列中,这个根节点就是队列的队头元素
STL的优先队列在头文件 $<queue>$ 中
然后,由于实在对直接定义优先队列不太理解,建议使用结构体重载运算符
#include<queue> struct dian{ int zhi; bool operator < ( const dian &x ) const{ return zhi > x.zhi;//小根堆的定义方式 } } priority_queue<dian> q;
之后的操作就跟普通队列一样了,但是注意:
如想取队首元素,请使用
dian lin = q.top()