以下是一个用 C 语言实现的简单选择排序的示例代码: ```c #include <stdio.h> // 交换两个数的值 void swap(int *a, int *b) { int temp = *a; *a = *b; *b = temp; } // 选择排序函数 void selectionSort(int arr[], int n) { int i, j, min_idx; for (i = 0; i < n - 1; i++) { min_idx = i; for (j = i + 1; j < n; j++) if (arr[j] < arr[min_idx]) min_idx = j; if (min_idx!= i) swap(&arr[i], &arr[min_idx]); } } // 打印数组函数 void printArray(int arr[], int size) { for (int i = 0; i < size; i++) printf("%d ", arr[i]); printf("\n"); } // 测试示例 int main() { int arr[] = {64, 25, 12, 22, 11}; int n = sizeof(arr) / sizeof(arr[0]); printf("排序前的数组为: "); printArray(arr, n); selectionSort(arr, n); printf("排序后的数组为: "); printArray(arr, n); return 0; } ``` 以下是三个改进建议: 1. 增加错误处理机制,例如处理数组为空或越界访问的情况。 2. 考虑使用更高效的数据结构,如堆,来提高选择排序的性能。 3. 对代码进行注释的完善,提高代码的可理解性。 [2024-12-23 09:21:57 | AI写代码神器 | 409点数解答]