sort

严格弱序比较

现在,有两个元, $a,b$ ,如果对于比较函数 $cmp(a,b)$ ,能以下格式函数表示出 $a,b$ 三种比较关系则为严格弱序比较:

$cmp(a,b)=1$ 则 $a<b$

$cmp(b,a)=1$ 则 $a>b$

$!cmp(a,b)$ 且 $!cmp(b,a)$ 则 $a=b$

(这样说可能不太严谨)

可以发现,$a<b$ 可以成立,但是如果 $a≤b$ 便不成立,那么这个就不叫严格弱序排序。

为什么提这个东西呢?

$sort$ 里面的 $cmp$ 函数必须要满足严格弱序比较。

如果不满足的话,那么在 $sort$ 的内部就会发生越界错误,然后就RE了QAQ(调了我贼久QAQ)。

参考资料

STL 深入理解 sort 函数 和 严格弱序比较_李白-2017的博客-CSDN博客