c++STL库小根堆
时间: 2023-09-11 14:04:47 浏览: 137
C++STL库常用库函数总结
你好!关于C++的STL库中的小根堆(min heap),你可以使用priority_queue容器来实现。priority_queue是STL库中的一个容器适配器,它会根据元素的优先级自动进行排序。
下面是一个使用priority_queue实现小根堆的示例代码:
```cpp
#include <iostream>
#include <queue>
int main() {
std::priority_queue<int, std::vector<int>, std::greater<int>> minHeap;
// 向小根堆中插入数据
minHeap.push(5);
minHeap.push(2);
minHeap.push(10); minHeap.push(3);
// 输出小根堆中的数据
while (!minHeap.empty()) {
std::cout << minHeap.top() << " ";
minHeap.pop();
}
return 0;
}
```
在上面的代码中,我们创建了一个priority_queue对象minHeap,并指定了第三个模板参数为std::greater<int>,这样就可以实现小根堆的功能。然后,我们使用push函数向小根堆中插入数据,使用top函数取出堆顶元素,并使用pop函数删除堆顶元素。
希望对你有所帮助!如有更多问题,请继续提问。
阅读全文