C++中priority_queue的用法是什么

   2025-02-13 2390
核心提示:在C++中,priority_queue是一个容器适配器,它实现了一个优先级队列(Priority Queue)。优先级队列是一种特殊的容器,其中每个

在C++中,priority_queue是一个容器适配器,它实现了一个优先级队列(Priority Queue)。优先级队列是一种特殊的容器,其中每个元素都有一个优先级。与普通队列不同,优先级队列中的元素按照优先级排序,而不是按照插入顺序排序。

priority_queue模板类位于头文件中,可以使用以下代码包含它:

#include <queue>

priority_queue的常用方法和操作包括:

push(element):将元素插入优先级队列。pop():移除优先级队列中的顶部元素。top():访问优先级队列中的顶部元素。size():返回优先级队列中的元素数量。empty():检查优先级队列是否为空。

优先级队列中的元素默认按照元素类型的"<“运算符进行排序,因此,元素类型必须支持”<"运算符的比较。也可以通过传递自定义的比较函数来改变元素的排序规则。

以下是一个使用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: 3Top element: 15Size of priority queue after pop: 2New top element: 10

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言