我的思路是通过字典序来对这些整数排序,然后依次输出
原来的比较函数是
bool cmp(string a, string b)
{
return a > b;
}
但这个函数会把“321”排在“32”前面,我试了下,
cout << ("321" > "32");
结果为0,但这互相矛盾。
如果“321”<“32”,
那么在sort函数中应该会将二者调换位置才对。
有没有大佬能解释下这是为什么?
我后来把cmp函数改为了
return a+b > b+a;
这样确实解决了这道题,但是没有解决我的疑惑。