🌟STLc++ priority_queue的使用方法💡

导读 在C++中,`priority_queue` 是标准模板库(STL)提供的一种非常实用的数据结构。它是一个基于堆实现的最大堆,默认情况下,元素会按照降序
2025-03-19 10:32:12

在C++中,`priority_queue` 是标准模板库(STL)提供的一种非常实用的数据结构。它是一个基于堆实现的最大堆,默认情况下,元素会按照降序排列,即优先级高的元素位于顶部。如果你想要一个最小堆,可以通过自定义比较函数来实现。

首先,需要包含头文件 ``。创建 `priority_queue` 时,可以指定存储的类型和比较方式。例如:

```cpp

include

include

int main() {

std::priority_queue pq; // 默认最大堆

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, std::greater> minPQ;

```

`priority_queue` 的优点在于操作的时间复杂度较低(插入和删除元素为 O(log n)),非常适合处理需要频繁访问最大或最小值的问题。🚀

掌握它,你的算法效率将大幅提升!💪

免责声明:本文由用户上传,如有侵权请联系删除!