看到过阿里巴巴的一道笔试题,题目是:下面哪个函数不能作为C++ std::sort的比较函数。刚开始拿到这个题不知道出题的考点在哪,所以不知道怎么做,直到看到另外一篇博客(博客地址:http://blog.youkuaiyun.com/lingling_1/article/details/46453013)我才恍然大悟。
题目:下面哪个函数不能作为C++ std::sort的比较函数。
选项:
A、bool f(int a, int b){return a < b;}
B、bool f(int a, int b){return false;}
C、bool f(int a, int b){return a > b;}
D、bool f(int a, int b){return a <= b;}
E、bool f(int a, int b){return a - b < -1;}
F、bool f(int a, int b){return a - b > 1;}
该题的解决思路是:C++std::sort的比较函数中,当 a == b时不能返回true,而要返回false。可以看出,上面6个答案中只有D答案在 a == b时返回true,所以该题答案应该是D。
参考博客:http://blog.youkuaiyun.com/lingling_1/article/details/46453013