C ++
 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

  1. C++での大文字と小文字を区別しない文字列の比較

    C ++では、標準ライブラリに文字列があります。このプログラムでは、2つの文字列が同一であるかどうかを確認する方法を説明します。この場合、ケースは無視されます。 ここでのロジックは単純です。文字列全体を小文字または大文字の文字列に変換し、それらを比較して、結果を返します。 アルゴリズムライブラリを使用して、文字列を小文字の文字列に変換する変換関数を取得しました。 Input: Two strings “Hello WORLD” and “heLLO worLD” Output: Strings are same アルゴリズム Step 1:

  2. C++で文字列を乗算する

    文字列として2つの数字があるとします。それらを乗算し、結果を文字列で返す必要があります。したがって、数値が「26」と「12」の場合、結果は「312」になります これを解決するには、次の手順に従います- 2つの引数xとyを取ると、xがyを除算することを示します x<-Infinityおよびy=1の場合、無限大を返します a:=| x |、b:=| y |およびans:=0 =0 p:=0 =0 p:=p + 1 a:=a –(左シフトb、p回) ans:=ans+左シフト1p回 0も真の場合は、ansを返します。それ以外の場合は、(– ans)を返します。