priority_queue<>
时间: 2023-09-08 21:13:46 浏览: 177
`priority_queue` 是C++标准库中的一个模板类,用于实现优先队列(Priority Queue)。优先队列是一种特殊的队列,其中元素按照一定的优先级进行排序,优先级高的元素先出队。
在C++中,可以使用`std::priority_queue`模板类来创建和操作优先队列。默认情况下,`std::priority_queue`使用降序排序,即优先级高的元素排在前面。如果需要使用升序排序,可以通过自定义比较函数来实现。
以下是一个使用`std::priority_queue`的示例代码:
```cpp
#include <iostream>
#include <queue>
int main() {
std::priority_queue<int> myPriorityQueue;
// 插入元素
myPriorityQueue.push(5);
myPriorityQueue.push(2);
myPriorityQueue.push(10);
// 获取队头元素(最大值)
int topElement = myPriorityQueue.top();
std::cout << "Top element: " << topElement << std::endl;
// 弹出队头元素
myPriorityQueue.pop();
// 获取新的队头元素
topElement = myPriorityQueue.top();
std::cout << "New top element: " << topElement << std::endl;
return 0;
}
```
在上述示例中,我们使用`std::priority_queue`创建了一个整数类型的优先队列。我们首先插入三个元素,然后通过`top()`函数获取当前队头元素(最大值),并进行输出。接着,我们使用`pop()`函数弹出队头元素,再次使用`top()`函数获取新的队头元素,并进行输出。
希望以上信息能满足您的需求!如果您还有其他问题,请随时提问。
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)