c++ sort自定义函数

本文详细解析C++中的sort函数,重点在于如何使用自定义比较函数进行升序和降序排序。通过实例解释了bool myfunction(int i, int j)如何影响排序结果,展示了comp函数在排序中的作用和逻辑。

c++官方文档

comp - 比较函数对象(即满足比较 (Compare) 概念的对象),若第一参数小于(即先序于)第二参数则返回 ​true 。

可以看到comp的定义:comp函数返回一个bool类型的值,这个值表示了在严格弱排序中(可以理解为升序排序)第一参数是否位于第二个参数之前。
也就是说如果comp返回true,则第一个参数小于第二个参数,sort根据compare的返回值将第一个参数排在第二个参数之前。
如果comp返回false,则第一个参数大于第二个参数,sort根据compare的返回值将第一个参数排在第二个参数之后。

传入A,B,定义bool myfunction (int i,int j) { return (i<j); },作为comp函数,则排列AB。
传入BA,则排列AB。
可以看出是升序排列的。(sort函数默认的comp函数也是默认升序的)

而如果我们定义bool myfunction (int i,int j) { return (i>j); },作为comp函数,
传入AB,返回false,则排列为BA,
传入BA,返回true,排列为BA。
是降序排列的。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值