1

是否可以对字符串数组进行合并排序?例如,如果我在 C 中有一个字符串数组,例如...

arr[0]="Hello";
arr[1]="cat";
arr[2]="there";
arr[3]="apple";
arr[4]="flower";

排序后的输出应该是...

apple
cat 
flower
hello
there

我也不明白如果我有“你好”和“地狱”这样的两个词该怎么办?到处都是整数,而不是字符串,尤其是在 C++ 中。

4

1 回答 1

1

是的,在您的比较中,strcmp用于 C 和std::string::compareC++。这两个函数都会比较字符串,并返回一个具有以下含义的整数......

  • < 0   — 比较字符串中第一个不匹配的字符的值较低,或者所有比较字符都匹配但比较字符串较短。

  • = 0   - 它们比较相等

  • > 0   — 比较字符串中第一个不匹配的字符的值较大,或者所有比较字符都匹配但比较字符串较长。

这还将考虑“Hello”与“Hell”,随后将“Hello”排在“Hell”之前。

注意:如果你发现你和我一样,并且很难记住结果的含义。只需将比较运算符(如上例)放在str1and之间str2。因此,例如,如果您调用strcmp(str1, str2)并且结果为< 0,则将其视为str1 < str2.

于 2013-10-04T23:42:49.073 回答