是否可以对字符串数组进行合并排序?例如,如果我在 C 中有一个字符串数组,例如...
arr[0]="Hello";
arr[1]="cat";
arr[2]="there";
arr[3]="apple";
arr[4]="flower";
排序后的输出应该是...
apple
cat
flower
hello
there
我也不明白如果我有“你好”和“地狱”这样的两个词该怎么办?到处都是整数,而不是字符串,尤其是在 C++ 中。
是的,在您的比较中,strcmp
用于 C 和std::string::compare
C++。这两个函数都会比较字符串,并返回一个具有以下含义的整数......
< 0 — 比较字符串中第一个不匹配的字符的值较低,或者所有比较字符都匹配但比较字符串较短。
= 0 - 它们比较相等
> 0 — 比较字符串中第一个不匹配的字符的值较大,或者所有比较字符都匹配但比较字符串较长。
这还将考虑“Hello”与“Hell”,随后将“Hello”排在“Hell”之前。
注意:如果你发现你和我一样,并且很难记住结果的含义。只需将比较运算符(如上例)放在str1
and之间str2
。因此,例如,如果您调用strcmp(str1, str2)
并且结果为< 0,则将其视为str1 < str2
.