一、std::priority_queue 的特点


二、初始化方式

🔹1. 默认构造

std::priority_queue<int> pq;  // 最大堆,底层容器为 vector

🔹2. 用已有容器初始化(底层必须是 heap堆)

std::vector<int> v = {3, 1, 4};
std::priority_queue<int> pq(v.begin(), v.end());  // 自动构造堆

🔹3. 指定底层容器和比较器

// 最小堆:用 greater<> 替换默认的 less<> 比较器
std::priority_queue<int, std::vector<int>, std::greater<int>> min_pq;

完整格式如下:

std::priority_queue<T, Container, Compare>
参数名 含义
T 元素类型
Container 底层容器,默认 vector<T>
Compare 比较器,默认 less<T>