💻 priority_queue的用法(转)
在编程中,`priority_queue` 是一个非常实用的数据结构,尤其适用于需要快速获取最大值或最小值的场景。它的名字本身就暗示了其核心功能——优先级队列。通过这个容器适配器,我们可以轻松实现数据的高效排序和管理。🌟
首先,`priority_queue` 默认是一个大顶堆,也就是说它会自动将最大的元素排在顶部。如果你希望实现小顶堆(即最小值在顶部),可以通过指定比较函数来完成。👀
例如:
```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;
}
```
此外,`priority_queue` 还支持自定义数据类型。只需提供比较规则即可,比如按对象的某个属性排序。🔧
总之,`priority_queue` 是算法竞赛和实际开发中的利器,灵活运用能大幅提升效率!🚀
免责声明:本文为转载,非本网原创内容,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。