冒泡排序是一種簡單的排序算法,它會重復地走訪過要排序的數列,每次比較相鄰的兩個元素,如果它們的順序錯誤就把它們交換過來。重復地進行這個過程直到整個數列都是有序的。
下面是使用 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]) {
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]);
bubbleSort(arr, n);
printf("排序后的數組:\n");
for (int 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}
。