以下是用 C 语言实现的冒泡排序算法代码: ```c #include <stdio.h> // 交换两个数的函数 void swap(int *a, int *b) { int temp = *a; *a = *b; *b = temp; } // 冒泡排序函数 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]) { swap(&arr[j], &arr[j + 1]); } } } } // 打印数组的函数 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. 内层循环的边界条件,要根据外层循环的迭代次数进行调整。 2. 每次比较并交换相邻元素时,要确保交换操作的正确性。 3. 考虑优化算法,比如判断某次循环中是否已经有序,提前结束排序。 [2024-11-26 20:13:28 | AI写代码神器 | 409点数解答]