在C++中,`priority_queue` 是标准模板库(STL)提供的一种非常实用的数据结构。它是一个基于堆实现的最大堆,默认情况下,元素会按照降序排列,即优先级高的元素位于顶部。如果你想要一个最小堆,可以通过自定义比较函数来实现。
首先,需要包含头文件 `
```cpp
include
include
int main() {
std::priority_queue
pq.push(5);
pq.push(1);
pq.push(10);
while (!pq.empty()) {
std::cout << pq.top() << " "; // 输出 10 5 1
pq.pop();
}
return 0;
}
```
如果你想创建最小堆,可以这样写:
```cpp
std::priority_queue
```
`priority_queue` 的优点在于操作的时间复杂度较低(插入和删除元素为 O(log n)),非常适合处理需要频繁访问最大或最小值的问题。🚀
掌握它,你的算法效率将大幅提升!💪