首页 > 编程语言 >结构体内嵌比较函数bool operator < (const node &x) const {}

结构体内嵌比较函数bool operator < (const node &x) const {}

时间:2023-05-01 22:44:57浏览次数:36  
标签:node const 队列 bool operator 节点

struct node
{
    int l,r;
    bool operator <(const node &a)const{
        return r < a.r;
    }
}a[maxn];

使用sort时,如果这么定义节点,说明节点要按照从小到大排序(sort中默认从小到大排序);但是同样的代码,如果使用优先队列,这么写就说明节点要按照从大到小排序(优先队列默认从大到小排列,大根堆)。

其中,裸r表示当前的值。

所以如果想在优先队列中定义小根堆,可以这么写:

struct node
{
    int l,r;
    bool operator <(const node &a)const
    {
        return r>a.r;
    }
};
priority_queue<node> q;

 

标签:node,const,队列,bool,operator,节点
From: https://www.cnblogs.com/Jocelynn/p/17367128.html

相关文章

  • 牛客 55994 2023牛客五一集训派对day3 D Points Construction Problem
    D-PointsConstructionProblem_2023牛客五一集训派对day3(nowcoder.com)将图上恰好\(n\)个点染成黑色,使得图上相邻的黑白点对数量恰好为\(m\)考虑\(n\)个黑点如果不相邻,则两个点的贡献互不影响考虑相邻的情况,我们把相邻的点连边,则贡献为每一个连通块的贡献的和,我们用......
  • cpp multi thread sync via std::atomic<bool>
    #include<atomic>#include<chrono>#include<cmath>#include<condition_variable>#include<ctime>#include<fstream>#include<functional>#include<future>#include<iomanip>#include<iostream&g......
  • 【Node 连载 3/9】如何高效开发表现层 Node.js 应用
    本文是2021年12月26日,第三十五届-前端早早聊【前端搞Node.js】专场,来自预测科技的技术总监——芋头的分享。感谢AI的发展,借助GPT的能力,最近我们终于可以非常高效地将各位讲师的精彩分享文本化后,分享给大家。(完整版含演示请看录播视频):https://www.zaozao.run/video/c......
  • let var const 的区别
    首先要明确变量的初始化就是给变量赋一个初值前言:1.let和const是es6新出来的语法2.由此可见,let和var声明的变量值可以修改,而const不可以修改3.由此可见,const声明的常量必须初始化,否则会报错(翻译过来就是:常量声明中缺少初始值设定项)。如果你要声明一个常量,必须要赋初......
  • 【Node 连载 2/9】Node.js ORM 在语雀的探索与实践
    本文是2021年12月26日,第三十五届-前端早早聊【前端搞Node.js】专场,来自蚂蚁金服语雀前端团队——小珲的分享。感谢AI的发展,借助GPT的能力,最近我们终于可以非常高效地将各位讲师的精彩分享文本化后,分享给大家。(完整版含演示请看录播视频和PPT):https://www.zaozao.ru......
  • ubuntu安装nodejs 14
    nodejs的每个大版本号都有相对应的源,比如这里的10.x.x版本的源是https://deb.nodesource.com/setup_10.x。所以在终端执行:curl-sLhttps://deb.nodesource.com/setup_18.x|sudo-Ebash-点击查看命令解释这个命令是用来添加Node.js18.x的仓库地址。具体来说,它通过curl......
  • c语言报错 [Error] invalid initialization of non-const reference of type 'LinkQue
     进行地址传递是出现报错临时值不能作为非常量引用参数进行传递所以需要在main函数中·重新定义指针传递 ......
  • open3d Reconstruction system 问题解决
    1.https://github.com/luckyluckydadada/Azure-Kinect-DK-3D-reconstruction 2.open3d版本:0.14.10.16.00.17.0会报错:open3d.cuda.pybind.piplines.odommetry.OdomtryOptionbojecthasnoattribute'max_depth_diff' 3.结果问题一:    根据......
  • 基于python实现将AWS-ElastiCache-的Reserved_Cache_Nodes-预留节点及费用的信息统计
    在AWS-ElastiCache中,Reserved_Cache_Nodes-预留节点,也就类似于EC2与RDS的RI(预留实例),都是为了节省成本而选择预付费用的一种方式,当AWS账号有多个时,如何通过编程的方式批量获取所有账号所有区域Region的RN信息呢我们可以通过awscli的方式,也可以通过AWSSDKforPython(Boto3)的......
  • 关于AWS-ElastiCache的Reserved nodes预留节点支付类型-费用说明
    关于AWS-ElastiCache的Reservednodes的购买(类似于EC2的RI),可以节省成本引擎,可以选择Redis或者Memcached,期限一般大多都支持1年或者3年的对于Offeringtype-产品类型,这里分类比其他产品要复杂一点、,分为【标准预留节点产品】与【旧式预留节点产品】这个还与节点类型有关系......