在C++中,priority_queue是一个容器适配器,它实现了一个优先级队列(Priority Queue)。优先级队列是一种特殊的容器,其中每个元素都有一个优先级。与普通队列不同,优先级队列中的元素按照优先级排序,而不是按照插入顺序排序。
priority_queue模板类位于
#include <queue>
priority_queue的常用方法和操作包括:
优先级队列中的元素默认按照元素类型的"<“运算符进行排序,因此,元素类型必须支持”<"运算符的比较。也可以通过传递自定义的比较函数来改变元素的排序规则。
以下是一个使用priority_queue的简单示例:
#include <iostream>
#include <queue>
int main() {
std::priority_queue<int> pq;
pq.push(10);
pq.push(5);
pq.push(15);
std::cout << "Size of priority queue: " << pq.size() << std::endl;
std::cout << "Top element: " << pq.top() << std::endl;
pq.pop();
std::cout << "Size of priority queue after pop: " << pq.size() << std::endl;
std::cout << "New top element: " << pq.top() << std::endl;
return 0;
}
此示例创建了一个存储整数的priority_queue。然后,它插入三个整数并打印出队列的大小和顶部元素。然后,它从队列中弹出一个元素并再次打印队列的大小和新的顶部元素。
输出为:
Size of priority queue: 3
Top element: 15
Size of priority queue after pop: 2
New top element: 10
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: c++无法解析外部符号如何解决