一句话理解
比较函数决定 sort 的先后。
为什么要学
多关键字排序的入口。
讲解
返回 true 表示第一个参数应在前面。不能在相等时返回 true。
按绝对值、按结构体字段,都写在 cmp 里。
例子
bool cmp(int x, int y) { return abs(x) < abs(y); }
sort(a, a + n, cmp);
绝对值小的在前。
常见错误
- cmp 里写 <= 导致相等返回 true。
- cmp 修改全局状态。
第 177 课
比较函数决定 sort 的先后。
多关键字排序的入口。
返回 true 表示第一个参数应在前面。不能在相等时返回 true。
按绝对值、按结构体字段,都写在 cmp 里。
bool cmp(int x, int y) { return abs(x) < abs(y); }
sort(a, a + n, cmp);
绝对值小的在前。
sort 的比较函数相等时应?
Ctrl / ⌘ + Enter 运行 · Tab 缩进
左右方向键也可翻课