一、基本概念与特性
priority_queue 是 C++ STL 中的容器适配器,基于堆数据结构实现,支持按优先级动态管理元素。其核心特性包括:
- 优先级排序:默认大顶堆(最大元素在堆顶),可通过自定义比较器改为小顶堆。
- 操作限制:仅允许访问堆顶元素(
top()),不支持遍历和随机访问。 - 底层容器:默认使用
vector,也可用deque,需支持push_back()、pop_back()和随机访问迭代器 。
二、基本用法
1. 初始化与声明
#include <queue>
#include <functional> // 用于 greater/less
// 默认大顶堆(最大元素在堆顶)
priority_queue<int> max_heap;
// 小顶堆(需显式指定容器和比较器)
priority_queue<int, vector<int&g
订阅专栏 解锁全文
1795

被折叠的 条评论
为什么被折叠?



