C++での並べ替え
このセクションでは、C++で並べ替えアルゴリズムを実行する方法を説明します。並べ替えられた配列は、各要素が数値、アルファベット順などの順序で並べ替えられた配列です。バブルソート、挿入ソート、選択ソート、マージソート、クイックソート、ヒープソートなど、数値配列をソートするための多くのアルゴリズムがあります。選択ソートを使用した配列のソートの詳細については、以下を参照してください。
選択ソートは、ソートされた配列を生成するソート方法です。これは、配列内の最小の要素を繰り返し見つけて、ソートされていない部分の先頭にある要素と交換することによって行われます。
選択ソートを使用してソートされた配列を実装するプログラムは次のとおりです。
例
#include<iostream> using namespace std; void selectionSort(int a[], int n) { int i, j, min, temp; for (i = 0; i < n - 1; i++) { min = i; for (j = i + 1; j < n; j++) if (a[j] < a[min]) min = j; temp = a[i]; a[i] = a[min]; a[min] = temp; } } int main() { int a[] = { 22, 91, 35, 78, 10, 8, 75, 99, 1, 67 }; int n = sizeof(a)/ sizeof(a[0]); int i; cout<<"Given array is:"<<endl; for (i = 0; i < n; i++) cout<< a[i] <<" "; cout<<endl; selectionSort(a, n); printf("\nSorted array is: \n"); for (i = 0; i < n; i++) cout<< a[i] <<" "; return 0; }
出力
Given array is: 22 91 35 78 10 8 75 99 1 67 Sorted array is: 1 8 10 22 35 67 75 78 91 99
上記のプログラムでは、selectionSort()は、selectionsortを使用して配列a[]をソートする関数です。 selectionSort()には2つのforループがあります。外側のforループの各反復で、iの後の残りの配列内の最小要素が検出され、現在iにある要素と交換されます。これは、配列がソートされるまで繰り返されます。これを以下に示します。
void selectionSort(int a[], int n) { int i, j, min, temp; for (i = 0; i < n - 1; i++) { min = i; for (j = i + 1; j < n; j++) if (a[j] < a[min]) min = j; temp = a[i]; a[i] = a[min]; a[min] = temp; } }
main()関数では、配列a[]が定義されています。次に、関数selectionSort()が配列a[]とそのサイズnで呼び出されます。最後に、ソートされた配列が表示されます。これを以下に示します。
int main() { int a[] = { 22, 91, 35, 78, 10, 8, 75, 99, 1, 67 }; int n = sizeof(a)/ sizeof(a[0]); int i; cout<<"Given array is:"<<endl; for (i = 0; i < n; i++) cout<< a[i] <<" "; cout<<endl; selectionSort(a, n); printf("\nSorted array is: \n"); for (i = 0; i < n; i++) cout<< a[i] <<" "; return 0; }
-
C++でのベクトルの並べ替え
C ++でのベクトルの並べ替えは、std ::sort()を使用して実行できます。 ヘッダーで定義されています。安定したソートを取得するには、std::stable_sortを使用します。これはsort()とまったく同じですが、等しい要素の相対的な順序を維持します。必要に応じて、Quicksort()、mergesort()も使用できます。 アルゴリズム Begin Decalre v of vector type. Initialize some values into v in array pattern.
-
std::sortを使用してC++で配列をソートする方法
プログラミング言語では、並べ替えはデータに適用される基本的な機能であり、これらのデータを昇順または降順で並べ替えます。 C ++プログラムには、配列をソートするための関数std ::sort()があります。 sort(start address, end address) ここで Start address => The first address of the element. Last address => The address of the next contiguous location of the last element of the array. サンプルコード