小さいから大きい順にC言語で並べ替えるコードはどう書きますか。

整数配列をバブルソートアルゴリズムを使って昇順に並べ替えるC言語のコード例を以下に示す:

#include <stdio.h>

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

int i, j, temp;

 

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

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

if (arr[j] > arr[j+1]) {

// 交换 arr[j] 和 arr[j+1]

temp = arr[j];

arr[j] = arr[j+1];

arr[j+1] = temp;

}

}

}

}

int main() {

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

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

int i;

 

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

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

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

}

 

bubbleSort(arr, n);

 

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

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

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

}

 

return 0;

}


上記のコードでは、`bubbleSort` 関数が与えられた配列に対してバブルソートアルゴリズムを使用してソートします。`main` 関数では、整数の配列を作成し、`bubbleSort` 関数を呼び出してソートします。最後に、ソート前とソート後の配列を出力します。このプログラムを実行すると、次の結果が出力されます:

排序前的数组:

64 34 25 12 22 11 90

排序后的数组:

11 12 22 25 34 64 90


これは基本的な並び替えアルゴリズムですが、より効率的なアルゴリズムを試してみることもできます。例えば、クイックソートやマージソートなどがあります。

bannerAds