std::priority_queue 的特点top() 最大)。std::vector 作为底层容器,配合 std::make_heap 算法。std::priority_queue<int> pq; // 最大堆,底层容器为 vector
std::vector<int> v = {3, 1, 4};
std::priority_queue<int> pq(v.begin(), v.end()); // 自动构造堆
// 最小堆:用 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> |