选择排序(Selection Sort)是一种简单但低效的排序算法,其基本思想是从未排序的部分选择最小(或最大)的元素,然后将其放到已排序部分的末尾。以下是用 C 澳门六舍彩网钱多多 语言实现选择排序的示例代码:
#include <stdio.h> // 选择排序函数 void selectionSort(int arr[], int n) { for (int i = 0; i < n - 1; i++) { int minIndex = i; // 在未排序部分找到最小元素的索引 for (int j = i + 1; j < n; j++) { if (arr[j] < arr[minIndex]) { minIndex = j; } } // 将最小元素与当前位置交换 int temp = arr[i]; arr[i] = arr[minIndex]; arr[minIndex] = temp; } } int main() { int n; printf("请输入数组的大小:"); scanf("%d", &n); int arr[n]; printf("请输入 %d 个整数:", n); for (int i = 0; i < n; i++) { scanf("%d", &arr[i]); } selectionSort(arr, n); printf("选择排序后的数组:"); for (int i = 0; i < n; i++) { printf("%d ", arr[i]); } printf("\\n"); return 0; }
在这段代码中, 2024新奥历史开奖记录46期香港中奖 函数实现了选择排序算法。它通过找到未排序部分的最小元素的索引,然后与当前位置的元素进行交换,从而逐步将最小元素移到已排序部分的末尾。
选择排序的时间复杂度是 O(n^2),因此在大规模数据排序时效率较低。然而,它的代码实现相对简单,不需要额外的空间,适用于小规模数据的排序。