#include <iostream>
#include <queue>
int main() {
// 创建一个空的 priority_queue,默认情况下是最大堆
std::priority_queue<int> maxHeap;
// 向 priority_queue 中插入元素
maxHeap.push(30);
maxHeap.push(10);
maxHeap.push(20);
// 访问 priority_queue 的顶部元素
std::cout << "Top element of maxHeap: " << maxHeap.top() << std::endl;
// 弹出 priority_queue 的顶部元素
maxHeap.pop();
// 再次访问 priority_queue 的顶部元素
std::cout << "Top element of maxHeap after pop: " << maxHeap.top() << std::endl;
// 创建一个最小堆(通过传递比较函数)
std::priority_queue<int, std::vector<int>, std::greater<int>> minHeap;
// 向 minHeap 中插入元素
minHeap.push(30);
minHeap.push(10);
minHeap.push(20);
// 访问 minHeap 的顶部元素
std::cout << "Top element of minHeap: " << minHeap.top() << std::endl;
return 0;
}
c++ stl 之priority_queue
最新推荐文章于 2024-10-04 17:07:53 发布
本文介绍了如何在C++中使用`priority_queue`,包括创建最大堆(maxHeap)和最小堆(minHeap),并向它们插入元素以及访问和删除顶部元素的过程。
摘要由CSDN通过智能技术生成