priority_queue<>
时间: 2023-09-08 21:13:46 浏览: 185
priority_queue
是C++标准库中的一个模板类,用于实现优先队列(Priority Queue)。优先队列是一种特殊的队列,其中元素按照一定的优先级进行排序,优先级高的元素先出队。
在C++中,可以使用std::priority_queue
模板类来创建和操作优先队列。默认情况下,std::priority_queue
使用降序排序,即优先级高的元素排在前面。如果需要使用升序排序,可以通过自定义比较函数来实现。
以下是一个使用std::priority_queue
的示例代码:
#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()
函数获取新的队头元素,并进行输出。
希望以上信息能满足您的需求!如果您还有其他问题,请随时提问。
相关推荐
















