c++优先队列
目录
优先队列 priority_queue
优先队列,本质是堆实现。与队列不同的是,priority_queue只能访问队列头部的信息(使用top),且插入元素后,会自动排序。默认最大值优先(大根堆)
1.定义元素为基本类型的优先队列
priority_queue<int,vector<int>,less<int>>q1;//最大值优先
priority_queue<int,vector<int>,greater<int>>q2;//最小值优先
2.定义元素为结构体类型的优先队列
struct node1
{
int x,y;//结构体中的成员
//定义在结构体内部
bool operator < (const node1 &a) const
{
return x<a.x;//最大值优先. x>a.x;表示最小值优先
}
};
priority_queue<nodel>q5;//使用时要把数据定义为node1类型
3.常用函数介绍
- top() 访问队头元素
- empty() 队列是否为空
- size() 返回队列中元素个数
- push() 插入元素到队尾(并排序)
- pop() 删除队头元素
虽小而精
原文地址:https://blog.csdn.net/zhangshuhao406/article/details/145270284
免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!