用 C++ 根據字串長度對字串陣列進行排序


下面,我們將瞭解如何基於字串長度對字串列表進行排序。因此,如果字串包含更少字元,則該字串將放在第一位,然後其他較長的字串將被放在後面。假設字串為

str_list = {“Hello”, “ABC”, “Programming”, “Length”, “Population”}

排序後,它們將變為 −

str_list = {“ABC”, “Hello”, “Length”, “Population”, “Programming”}

接下來,我們將建立自己的比較邏輯來對其進行排序。該比較邏輯將用於 C++ STL 中的排序函式。

演算法

compare(str1, str2):
Begin
   if length of str1 < length of str2, then
      return 1
   return 0
End

示例

 動態演示

#include<iostream>
#include<algorithm>
using namespace std;
int compare(string str1, string str2){
   if(str1.length() < str2.length())
   return 1;
   return 0;
}
main(){
   string str_list[] = {"Hello", "ABC", "Programming", "Length", "Population"};
   int n = 5;
   sort(str_list, str_list + n, compare);
   for(int i = 0; i<n; i++){
      cout << str_list[i] << " ";
   }
}

輸出

ABC Hello Length Population Programming

更新於: 2019-09-25

935 次瀏覽

開啟您的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.