上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.2 priority_queue(优先队列)
priority_queue是优先队列。在优先队列中,优先级高的先出队,默认最大值优先。优先队列的内部实现为堆,出队和入队的时间复杂度均为O(logn)。可以自定义优先级控制操作顺序,对于数值,可以通过加负号的方式实现最小值优先。优先队列不支持删除指定的元素,只支持删除队头元素,若需要删除指定的元素,则可以进行懒操作。用priority_queue时,需要引入头文件#include <queue>。
priority_queue的成员函数如下。
· push(x):将x入队。
· pop():出队。
· top():取队头元素。
· size():返回优先队列中的元素数量。
· empty():判断优先队列是否为空,若为空,则返回true,否则返回false。