💻priority_queue用法详解⏰
发布时间:2025-03-29 01:00:43来源:
在C++中,`priority_queue`是一个非常实用的数据结构,它就像一个永远知道谁是“老大”的队伍!👀 它默认是大顶堆,也就是说队列中的最大值总是位于顶部。如果你想用小顶堆,只需要传入`std::greater`作为第三个模板参数即可。
基本操作:
1️⃣ 创建:`priority_queue
2️⃣ 插入:`pq.push(10);`
3️⃣ 删除:`pq.pop();` 删除的是队列顶部元素
4️⃣ 访问顶部元素:`pq.top();`
时间复杂度:
插入和删除的时间复杂度均为 O(log n),这是因为内部使用了堆结构,每次操作都需要调整堆。查询顶部元素的时间复杂度为 O(1)。
💡 小贴士:`priority_queue`非常适合处理需要快速获取最大或最小值的场景,比如最短路径算法Dijkstra。快来试试吧!🚀
免责声明:本文为转载,非本网原创内容,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。