当前位置: 首页 > news >正文

西安网站制作培训福州百度推广开户

西安网站制作培训,福州百度推广开户,北京疫情今天最新情况,可以打开所有网站的浏览器头文件#include <queue> 优先队列具有队列的所有特性&#xff0c;本质是一个堆实现的&#xff0c;和队列基本操作相同: top 访问队头元素 empty 队列是否为空 size 返回队列内元素个数 push 插入元素到队尾 (并排序) emplace 原地构造一个元素并插入队列 pop 弹出队头元素…

头文件#include <queue>
优先队列具有队列的所有特性,本质是一个堆实现的,和队列基本操作相同:
top 访问队头元素
empty 队列是否为空
size 返回队列内元素个数
push 插入元素到队尾 (并排序)
emplace 原地构造一个元素并插入队列
pop 弹出队头元素
swap 交换内容

和队列不一样的是,优先队列没有 front() 函数与 back() 函数,而只能通过 top() 函数来访问队首元素(也可以称为堆顶元素),也就是优先级最高的元素。

定义方式有两种

  1. typename 可以是任意基本数据类型或容器:
priority_queue< typename > name;
  1. 定义:priority_queue<Type, Container, Functional>
    Type 数据类型,Container 容器类型(Container必须是用数组实现的容器,比如vector,deque等等,但不能用 list。STL里面默认用的是vector),Functional 就是比较的方式,当需要用自定义的数据类型时才需要传入这三个参数,使用基本数据类型时,只需要传入数据类型,默认是大顶堆。
    注意第二个参数填写的是来承载底层数据结构堆(heap)的容器,如果第一个参数是 double 型或 char 型,则此处只需要填写 vector 或 vector;
    而第三个参数 则是对第一个参数的比较类,less 表示数字大的优先级越大,而 greater 表示数字小的优先级越大。也可以自定义数据比较关系

对基本数据类型来说,下面两种优先队列的定义是等价的(以 int 型为例,注意最后两个 > 之间有一个空格):

priority_queue<int> q;
priority_queue<int,vector<int>,less<int>> q;

如果想让优先队列总是把最小的元素放在队首,则需进行如下定义:

priority_queue<int,vector<int>,greater<int>>q;

如果不是基本类型,那么结构体的优先级设置方法有所区别需要重载小于号"<" 例如

struct student
{string name;int age;friend bool operator <(student s1,student s2){return student.age <student.age;}
};

重载大于号会编译错误,因为从数学上来说只需要重载小于号,即 f1 > f2 等价于判断 f2 < f1,而 f1 == f2 则等价于判断!(f1<f2) &&!(f2<fl))

如果想把重载写在变量结构体外面则需要重载小括号()同时将其用struct包装起来,例如

struct ListNode {int val;ListNode *next;ListNode() : val(0), next(nullptr) {}ListNode(int x) : val(x), next(nullptr) {}ListNode(int x, ListNode *next) : val(x), next(next) {}
}
struct comp{bool operator() (ListNode *L1,ListNode *L2){return L1->val > L2->val;}
};
priority_queue<ListNode*,vector<ListNode*>,comp> q;
http://www.mmbaike.com/news/56306.html

相关文章:

  • 保障性住房建设投资中心网站如何做网站优化seo
  • wordpress 表单 验证码长沙网站seo优化公司
  • 创立外包网站seo百度关键字优化
  • 石家庄建设局网站怎么打不开站优化
  • 模板网站有什么不好官网seo怎么做
  • 浙江省建设监理协会官方网站网络推广引流有哪些渠道
  • Php做网站要求类似互推商盟的推广平台
  • 网站建设的步骤教程视频教程地推团队如何收费
  • 定时切换照片wordpress西安关键词优化平台
  • 东莞市万江疫情最新消息网站排名优化制作
  • 微信做淘宝客网站网站排名掉了怎么恢复
  • 家居企业网站建设报价合肥网站优化方案
  • 如何做好网站seo优化网站流量指标有哪些
  • 成都上市的网站建设公司鞍山做网站的公司
  • 整站优化关键词推广自助搭建平台
  • 赌博网站开发公司搜索引擎营销优化
  • wordpress 第一张图片 get first福州seo结算
  • java 做直播网站有哪些软件有哪些seo域名综合查询
  • 软件工程师资格证旺道seo工具
  • 如何做网站推广方案网络推广营销方案100例
  • 南宁微信网站制作外贸快车
  • wordpress支持什么语言宁波seo网络推广软件系统
  • 直接访问网页seo排名快速优化
  • 合肥百度团购网站建设什么叫做优化
  • 企云网站建设爱上链外链购买交易
  • 贵州新闻北京seo公司排名
  • 加盟合作招商百度seo公司哪家强一点
  • wordpress怎么设置后台权限谷歌seo优化排名
  • sdcms网站建设模板朝阳网络推广
  • 国际电商平台有哪些珠海百度关键字优化