STL 中的 优先队列 priority_queue,底层是采用堆来组织数据存储的。堆是一种特殊的数据组织方式。
想要了解堆的小伙伴们可以戳下面的链接:
C++堆的相关操作
优先队列
能完成以下操作的数据结构叫做优先队列:
1.插入一个数值
2.取出最小(最大)的数值(获得数值,并且删除)
其方法和队列相似:
top() 访问队头元素,不删除
pop() 删除队头元素,不返回
empty() 队列是否为空
size() 返回队列内元素个数
push() 插入元素到队尾 (并排序)
构造优先队列:
//升序队列(小顶堆)
priority_queue <int,vector<int>