冒泡排序算法是一種簡單直觀的排序算法,它重復地走訪過要排序的數列,一次比較兩個元素,如果它們的順序錯誤就把它們交換過來。具體實現如下:
#include <stdio.h>
// 冒泡排序函數
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n-1; i++) {
for (int j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
// 交換arr[j]和arr[j+1]
int 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]);
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;
}
以上代碼首先定義了一個bubbleSort
函數用于實現冒泡排序,然后在main
函數中定義了一個整型數組arr
,并調用bubbleSort
函數對數組進行排序。最后輸出排序前后的數組。