是否可以合并排序字符串数组?例如,如果我在C中有一个字符串数组...
arr[0]="Hello";
arr[1]="cat";
arr[2]="there";
arr[3]="apple";
arr[4]="flower";
排序后的输出应该是......
apple
cat
flower
hello
there
如果我有两个词,比如"你好"我也不明白我应该怎么做。和#34;地狱?"在任何地方,示例总是用于整数而不是字符串,特别是在C ++中。
答案 0 :(得分:1)
是的,在您的比较中,对{C}使用strcmp
,对C ++使用std::string::compare
。两个函数都将比较字符串,并返回一个具有以下含义的整数...
<强>&LT; 0 - 不匹配的第一个字符的值在比较字符串中较低,或者所有比较的字符匹配但比较的字符串较短。
= 0 - 他们比较等于
<强>&GT; 0 - 比较字符串中不匹配的第一个字符的值更大,或者所有比较的字符匹配但比较的字符串更长。
这也将考虑“Hello”vs.“Hell”,随后将在“Hello”之前对“Hell”进行排序。
注意:如果您发现自己像我一样,并且很难记住结果的含义。只需将比较运算符(如上例所示)放在str1
和str2
之间。因此,例如,如果您调用了strcmp(str1, str2)
,结果是&lt; 0 ,然后查看str1 < str2
。