You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++内置sort函数与自定义比较器的工作原理及示例解析

C++ sort自定义比较器逻辑解析及示例

比较器规则说明

这段代码里的sort函数通过Lambda表达式定义了自定义排序规则,具体逻辑:

  • 优先比较每个子数组的第一个元素:
    • 若两个子数组的第一个元素不相等,第一个元素更小的子数组排在前面(即按第一个元素升序排列)
    • 若两个子数组的第一个元素相等,第二个元素更大的子数组排在前面(即按第二个元素降序排列)

输入示例的排序结果

给定输入:

vector<vector<int>> lights = {{5,5},{6,3},{3,6}};

经过sort函数排序后,lights的最终内容为:

{{3,6}, {5,5}, {6,3}}

排序过程拆解

  1. 提取所有子数组的第一个元素:5、6、3,按升序排序后顺序为3、5、6
  2. 由于所有子数组的第一个元素都不重复,无需触发第二个元素的比较规则,直接按第一个元素的升序顺序排列即可。

内容的提问来源于stack exchange,提问作者Vaibhav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 07:01:27