首页 > 科技 >

🌟STLc++ priority_queue的使用方法💡

发布时间: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)),非常适合处理需要频繁访问最大或最小值的问题。🚀

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

免责声明:本答案或内容为用户上传,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 如遇侵权请及时联系本站删除。