C++ STL 优先级队列
STL 优先队列
C++ 中的优先级队列(priority_queue)是 STL 中的派生集合,它仅考虑最高优先级元素。队列遵循 FIFO 策略(先进先出),而优先级队列根据优先级弹出元素,即优先级最高的元素首先弹出。
它在某些方面类似于普通队列,但在以下方面有所不同:
- 在优先级队列中,队列中的每个元素都与某个优先级相关联,但是优先级在队列数据结构中不存在。
- 当队列遵循 FIFO 策略时,优先级队列中优先级最高的元素将被首先删除,这意味着首先插入的元素将被首先删除。
- 如果存在多个具有相同优先级的元素,则将考虑该元素在队列中的顺序。
提示:优先级队列是普通队列的扩展版本,但优先级最高的元素将首先 从优先级队列中删除。
优先队列的语法如下:
priority_queue<int> variable_name;
优先队列的成员函数
函数 | 说明 |
---|---|
push() | 它将在优先级队列中插入新元素。 |
pop() |