logo

配列を昇順にソートする C プログラム

配列を昇順に並べ替えるということは、要素を最小の要素から最大の要素に並べることを意味します。この記事では、C プログラミング言語で配列を昇順に並べ替える方法を学習します。

C でのソート

配列を昇順に並べ替える方法はたくさんありますが、簡単にするために、この記事では選択並べ替えを使用します。



アルゴリズム

選択ソートは、配列全体がソートされるまで、配列の未ソート部分から最小要素を繰り返し見つけて、それを配列のソート部分の先頭に配置する単純なソート アルゴリズムです。

  1. 配列を昇順にソートするには、ソートされていない部分から最小の要素を (昇順を考慮して) 見つけて先頭に配置することを繰り返します。
  2. このアルゴリズムは、指定された配列内に 2 つのサブ配列を維持します。
    • すでにソートされている部分配列。
    • ソートされていない残りの部分配列。
  3. 選択ソートを繰り返すたびに、ソートされていない部分配列から最小要素 (昇順を考慮) が選択され、ソートされた部分配列に移動されます。

完全な記事を参照してください。 選択範囲の並べ替え 詳細については!

C による配列ソート プログラム

C








// C program to sort the array in an> // ascending order using selection sort> #include> > void> swap(>int>* xp,>int>* yp)> {> >int> temp = *xp;> >*xp = *yp;> >*yp = temp;> }> > // Function to perform Selection Sort> void> selectionSort(>int> arr[],>int> n)> {> >int> i, j, min_idx;> > >// One by one move boundary of> >// unsorted subarray> >for> (i = 0; i // Find the minimum element in // unsorted array min_idx = i; for (j = i + 1; j if (arr[j] min_idx = j; // Swap the found minimum element // with the first element swap(&arr[min_idx], &arr[i]); } } // Function to print an array void printArray(int arr[], int size) { int i; for (i = 0; i printf('%d ', arr[i]); printf(' '); } // Driver code int main() { int arr[] = { 0, 23, 14, 12, 9 }; int n = sizeof(arr) / sizeof(arr[0]); printf('Original array: '); printArray(arr, n); selectionSort(arr, n); printf(' Sorted array in Ascending order: '); printArray(arr, n); return 0; }>

>

>

出力

Original array: 0 23 14 12 9 Sorted array in Ascending order: 0 9 12 14 23>

複雑さの分析

    時間計算量: O(N2) 補助スペース: O(1)

関連記事