Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

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