首页 > 精选要闻 > 精选百科 >

💻 priority_queue的用法(转)

发布时间:2025-03-29 01:00:51来源:

在编程中,`priority_queue` 是一个非常实用的数据结构,尤其适用于需要快速获取最大值或最小值的场景。它的名字本身就暗示了其核心功能——优先级队列。通过这个容器适配器,我们可以轻松实现数据的高效排序和管理。🌟

首先,`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;

}

```

此外,`priority_queue` 还支持自定义数据类型。只需提供比较规则即可,比如按对象的某个属性排序。🔧

总之,`priority_queue` 是算法竞赛和实际开发中的利器,灵活运用能大幅提升效率!🚀

免责声明:本文为转载,非本网原创内容,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。