根据C ++中的字符串长度对字符串数组进行排序

在这里,我们将看到如何根据字符串的长度对列表进行排序。因此,如果一个字符串的字符数较少,则将其放在第一位,然后放置其他更长的字符串。假设字符串是

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

排序后,它们将是-

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

在这里,我们将创建自己的比较逻辑来对它们进行排序。该比较逻辑将在C ++ STL的sort函数中使用。

算法

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