priority_queue笔记

1. priority_queue简介

  • priority_queue优先队列,其底层用堆来实现。
  • 在优先队列中,队首元素一定是当前队列中优先级最高的一个。
  • 插入元素,堆结构调整,保证队首元素优先级最高。
  • 不同于队列,优先队列只能通过top()函数来访问队首元素。

2. 基本使用

  • push(); 入队
  • top(); 获取队首元素
  • pop(); 令队首元素出队

凡是需要用堆结构的地方,都可以考虑优先队列。

3. 如何定义优先

3.1 对于基本数据类型

数字越大优先级越高,priority_queue默认使用vector作为存储数据的容器。
以下两种写法等价:

priority_queue<int> p;
priority_queue<int,vector<int>,less(int)> p;

3.2 对于自定义数据类型

需要自己定义比较方式……
未完待续

版权声明: 如无特别声明,本文版权归 月梦の技术博客 所有,转载请注明本文链接。

(采用 CC BY-NC-SA 4.0 许可协议进行授权)

本文标题:《 priority_queue 》

本文链接:https://ymiir.asia/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/priority_queue.html

本文最后一次更新为 天前,文章中的某些内容可能已过时!