C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

任意のデータ型の変数をソートするためのC++プログラム


整数、浮動小数点、文字列、ブールなどのさまざまなデータ型の値が与えられます。タスクは、1つの一般的なメソッドまたは関数を使用して任意のデータ型の変数を並べ替え、結果を表示することです。

C ++では、std ::sortを使用して、C ++標準テンプレートライブラリ(STL)で使用可能な任意のタイプの配列を並べ替えることができます。デフォルトでは、sort関数は配列要素を昇順でソートします。 Sort()関数は3つの引数を取ります-

配列リストの開始要素、つまり、並べ替えを開始する場所から

配列リストの要素を終了します。つまり、並べ替えを実行する場所まで

great()関数を渡して降順でソートすることにより、ソート関数のデフォルト設定を降順に変更します。

Input-: int arr[] = { 2, 1, 5, 4, 6, 3}
Output-: 1, 2, 3, 4, 5, 6

Input-: float arr[] = { 30.0, 21.1, 29.0, 45.0}
Output-: 21.1, 29.0, 30.0, 45.0

Input-: string str =  {"tutorials point is best", "tutorials point", "www.tutorialspoint.com"}
Output-: tutorials point   tutorials point is best   www.tutorialspoint.com

以下のプログラムで使用されるアプローチは次のとおりです-

  • 整数、浮動小数点、文字列などのさまざまなデータ型の変数を入力します。
  • 任意のタイプの配列の要素を並べ替えるsort()関数を適用します
  • 結果を印刷する

アルゴリズム

Start
Step 1-> create template class for operating upon different type of data Template <class T>
Step 2-> Create function to display the sorted array of any data type
   void print(T arr[], int size)
   Loop For size_t i = 0 and i < size and ++i
      print arr[i]
   End
Step 3-> In main()
   Declare variable for size of an array int num = 6
   Create an array of type integer int arr[num] = { 10, 90, 1, 2, 3 }
   Call the sort function sort(arr, arr + num)
   Call the print function print(arr, num)
   Create an array of type string string str[num] = { "tutorials point is best",  "tutorials point", "www.tutorialspoint.com" }
   Call the sort function sort(str, str + num)
   Call the print function print(str, num)
   Create an array of type float float float_arr[num] = { 32.0, 12.76, 10.00 }
   Call the sort function sort(float_arr, float_arr+num)
   Call the print function print(float_arr, num)
Stop

#include <bits/stdc++.h>
using namespace std;
// creating variable of template class
template <class T>
void print(T arr[], int size) {
   for (size_t i = 0; i < size; ++i)  
   cout << arr[i] << "   ";    
   cout << endl;
}
int main() {
   int num = 6;
   int arr[num] = { 10, 90, 1, 2, 3 };
   sort(arr, arr + num);
   print(arr, num);
   string str[num] = { "tutorials point is best", "tutorials point", "www.tutorialspoint.com" };
   sort(str, str + num);
   print(str, num);
   float float_arr[num] = { 32.0, 12.76, 10.00 };
   sort(float_arr, float_arr+num);
   print(float_arr, num);
   return 0;
} 

出力

0   1   2   3 10   90
tutorials point   tutorials point is best   www.tutorialspoint.com
10   12.76   32

  1. ストゥージソートを実行するC++プログラム

    ストゥージソートは、指定されたデータをソートするために使用されます。これは再帰的なソートアルゴリズムです。ストゥージソートは、配列を2つの重なり合う部分(それぞれ2/3)に分割し、I、II、およびIの部分を並べ替えることにより、3つのステップで配列を並べ替えます。このアルゴリズムの最悪の場合の時間計算量はO(n ^ 2.7095)です。 アルゴリズム Begin Take input of data. Call StoogeSort() function with ‘a’ the array of data and ‘n’ the n

  2. C ++の変数と変数の種類は何ですか?

    変数は、プログラムが操作できる名前付きストレージを提供します。 C ++の各変数には特定のタイプがあり、変数のメモリのサイズとレイアウトを決定します。そのメモリ内に格納できる値の範囲。変数に適用できる一連の操作。変数の非常に単純な例は-です。 int my_val = 5; ここでは、int(integer)型の変数my_valがあり、値は5です。より一般的には、変数は-として定義されます。 type variable_name; または、それらも初期化したい場合- type variable_name = value; 変数の名前は、文字、数字、および下線文字で構成できます。文字またはア