在C語言中,可以使用冒泡排序算法來對數組進行升序排序。冒泡排序的基本思想是重復地交換相鄰的元素,使較大的元素逐漸向右移動到數組的末尾。
以下是使用冒泡排序算法實現升序排序的示例代碼:
#include <stdio.h>void bubbleSort(int arr[], int n) {
int i, j;
for (i = 0; i < n-1; i++) {
// 每次遍歷都將最大的元素移動到右端
for (j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
// 交換相鄰的元素
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
int main() {
int arr[] = {5, 2, 8, 12, 3};
int n = sizeof(arr) / sizeof(arr[0]);
printf("原始數組: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
bubbleSort(arr, n);
printf("\n排序后的數組: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
輸出結果:
原始數組: 5 2 8 12 3排序后的數組: 2 3 5 8 12
在上述示例代碼中,`bubbleSort()`函數接受一個整數數組和數組的大小作為參數。它使用兩個嵌套的循環來遍歷數組,并將較大的元素向右移動。最后,`main()`函數通過調用`bubbleSort()`函數對數組進行排序,并輸出排序后的結果。
請注意,在實際應用中,冒泡排序算法可能不是最優的選擇,因為它的時間復雜度為O(n^2),在處理大型數據集時效率較低。更高效的排序算法如快速排序或歸并排序可以用于替代冒泡排序。