我过了,但是没想明白
查看原帖
我过了,但是没想明白
1022761
wuuk楼主2023/8/30 11:26

我的思路是通过字典序来对这些整数排序,然后依次输出

原来的比较函数是

bool cmp(string a, string b)
{
    return a > b;
}

但这个函数会把“321”排在“32”前面,我试了下,

cout << ("321" > "32");

结果为0,但这互相矛盾。

如果“321”<“32”,

那么在sort函数中应该会将二者调换位置才对。

有没有大佬能解释下这是为什么?

我后来把cmp函数改为了

return a+b > b+a;

这样确实解决了这道题,但是没有解决我的疑惑。

2023/8/30 11:26
加载中...