C言語で、選択ソート法を使う方法はどうですか?

C言語では、配列をソートするために選択ソートアルゴリズムを使用することができます。この選択ソートの基本的な考え方は、未ソート部分から毎回最小(または最大)の要素を選んで、それをソート済み部分の末尾に配置することです。

以下是使用選択ソートアルゴリズムで整数配列をソートする例示コードです。

#include <stdio.h>

void selectionSort(int arr[], int n) {

int i, j, min_idx, temp;

// 遍历整个数组

for (i = 0; i < n – 1; i++) {

// 找到未排序部分的最小元素位置

min_idx = i;

for (j = i + 1; j < n; j++) {

if (arr[j] < arr[min_idx])

min_idx = j;

}

// 将最小元素与当前位置交换

temp = arr[i];

arr[i] = arr[min_idx];

arr[min_idx] = temp;

}

}

int main() {

int arr[] = {64, 25, 12, 22, 11};

int n = sizeof(arr) / sizeof(arr[0]);

int i;

printf(“原始数组:”);

for (i = 0; i < n; i++)

printf(“%d “, arr[i]);

selectionSort(arr, n);

printf(“\n排序后的数组:”);

for (i = 0; i < n; i++)

printf(“%d “, arr[i]);

return 0;

}


上記のコードでは、`selectionSort()` 関数が選択ソートアルゴリズムを実装するために使用されています。`main()` 関数では、整数配列 `arr` が作成され、その配列の長さ `n` が計算されます。その後、元の配列が出力され、`selectionSort()` 関数が呼び出され、配列がソートされます。最後に、ソートされた配列が出力されます。

上記のコードは出力します:

原始数组:64 25 12 22 11

排序后的数组:11 12 22 25 64


これは、C言語で配列を並べ替えるために選択ソートアルゴリズムを使用する例です。

bannerAds