以下是 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]) { // 相邻元素两两对比 temp = arr[j]; // 交换位置 arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } } // 打印数组函数 void printArray(int arr[], int size) { int i; for (i = 0; i < size; i++) printf("%d ", arr[i]); printf("\n"); } // 测试示例 int main() { int arr[] = {64, 34, 25, 12, 22, 11, 90}; int n = sizeof(arr) / sizeof(arr[0]); printf("排序前的数组为: "); printArray(arr, n); bubbleSort(arr, n); printf("排序后的数组为: "); printArray(arr, n); return 0; } ``` 额外需要注意的逻辑点: 1. 冒泡排序的时间复杂度为 O(n^2),在数据量较大时效率较低。 2. 注意边界情况,如数组为空或只有一个元素时的处理。 3. 对于已经部分有序的数组,可以添加优化判断,提前结束排序。 [2025-05-09 15:24:52 | AI写代码神器 | 393点数解答]