sort

严格弱序比较

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

cmp(a,b)=1a<b

cmp(b,a)=1a>b

!cmp(a,b)!cmp(b,a)a=b

(这样说可能不太严谨)

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

为什么提这个东西呢?

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

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

参考资料

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