簡體   English   中英

在字符串C的數組上合並排序

[英]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”進行排序。

注意:如果您發現自己和我一樣,並且很難記住結果的含義。 只需將比較運算符(如上面的示例中)放在str1str2 因此,例如,如果調用strcmp(str1, str2)且結果為<0 ,則將其str1 < str2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM