在C++中,优先级队列是一个STL容器,它基于堆数据结构实现并根据元素的优先级进行排序。可以使用priority_queue
类来创建和操作优先级队列。
以下是一个简单的示例,演示如何创建和使用优先级队列:
#include <iostream>
#include <queue>
int main() {
std::priority_queue<int> pq; // 创建一个空的优先级队列
pq.push(30); // 将元素30插入优先级队列
pq.push(10); // 将元素10插入优先级队列
pq.push(20); // 将元素20插入优先级队列
std::cout << "优先级队列中的元素:";
while (!pq.empty()) {
std::cout << pq.top() << " "; // 获取并输出队列中的顶部元素
pq.pop(); // 删除队列中的顶部元素
}
return 0;
}
在这个示例中,首先创建一个priority_queue
对象pq
,然后使用push()
方法将元素插入优先级队列。最后,使用top()
方法获取队列中的顶部元素,并使用pop()
方法删除该元素。
运行以上代码,输出结果为:
优先级队列中的元素:30 20 10
通过这种方式,可以很容易地使用C++中的优先级队列。