[英]Merge sort on array of string C
是否可以合並對字符串數組進行排序? 例如,如果我在C中有一個字符串數組,例如...
arr[0]="Hello";
arr[1]="cat";
arr[2]="there";
arr[3]="apple";
arr[4]="flower";
排序后的輸出應為...
apple
cat
flower
hello
there
另外,如果我有兩個單詞,例如“ Hello”和“ Hell?”,我也不明白該怎么辦。 例子到處都是整數,而不是字符串,尤其是在C ++中。
是的,在比較中,對於C使用strcmp
,對於C ++使用std::string::compare
。 這兩個函數將比較字符串,並返回具有以下含義的整數...
<0 —比較字符串中不匹配的第一個字符的值較低,或者所有比較字符都匹配,但比較字符串較短。
= 0 —他們比較相等
> 0-比較的字符串中不匹配的第一個字符的值較大,或者所有比較的字符都匹配,但比較的字符串較長。
這還將考慮“ Hello”與“ Hell”的關系,隨后將在“ Hello”之前對“ Hell”進行排序。
注意:如果您發現自己和我一樣,並且很難記住結果的含義。 只需將比較運算符(如上面的示例中)放在str1
和str2
。 因此,例如,如果調用strcmp(str1, str2)
且結果為<0 ,則將其str1 < str2
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.