Computer >> Máy Tính >  >> Lập trình >> C ++

Sắp xếp một mảng chuỗi theo độ dài chuỗi trong C ++

Ở đây chúng ta sẽ xem cách sắp xếp danh sách các chuỗi dựa trên độ dài của chúng. Vì vậy, nếu một chuỗi có số ký tự ít hơn, thì chuỗi đó sẽ được đặt trước, sau đó các chuỗi khác dài hơn sẽ được đặt. Giả sử các chuỗi là

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

sau khi phân loại, chúng sẽ -

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

Ở đây chúng tôi sẽ tạo logic so sánh của riêng mình để sắp xếp chúng. Logic so sánh đó sẽ được sử dụng trong hàm sắp xếp trong C ++ STL.

Thuật toán

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

Ví dụ

#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] << " ";
   }
}

Đầu ra

ABC Hello Length Population Programming