我想知道为什么有两种完全不同的方法来指定qsort(){C version}中的比较函数std::sort().
qsort 需要比较函数如下:我不知道为什么它需要三种返回值-1,0,+ 1.
int comp(int *x, int *y){
return *x - *y;
}
Run Code Online (Sandbox Code Playgroud)
而比较函数for std::sort(),看起来更加一致,因为它是根据函数来编写的,以遵循不变量.即如果x小于y函数返回true,则x相对于y处于正确位置
bool comp(int x, int y){
return x < y;
}
Run Code Online (Sandbox Code Playgroud)
为什么我们在返回bool时需要三个值-1,0,+ 1(或两个值为0的int)更简单干净?
| 归档时间: |
|
| 查看次数: |
1871 次 |
| 最近记录: |