头文件:
#include <queue>
定义:
1.大根堆,从小到大输出
priority_queue<int> q1;
2.小根堆
priority_queue<int,vector<int>, greater<int> > q2;
3.自定义
struct node
{
int y,weight;
friend bool operator < (node n1,node n2) //定义一个函数!
{
return n1.weight>n2.weight; //"<"为从大到小,">" 为从小到大
}
};
priority_queue<Node> q;
用法:
跟queue差不多
唯一不同就是:
取队首用q.top()
而不是q.front()
此代码为堆优化的spfa(例子):https://blog.youkuaiyun.com/scutbenson/article/details/81320460
C++优先队列详解
本文介绍了C++中优先队列(priority_queue)的基本概念及使用方法,并通过实例讲解了如何创建大根堆与小根堆,同时展示了如何自定义比较函数以适应不同场景的需求。
2414

被折叠的 条评论
为什么被折叠?



