您现在的位置是:首页 >科技 > 2025-02-27 05:30:44 来源:
选择排序两种写法_c语言 选择排序2种写法 📊💡
在编程的世界里,选择排序是一种简单直观的排序算法,它的工作原理是从未排序序列中找到最小(或最大)元素,存放到排序序列的起始位置,然后从剩余未排序元素中继续寻找最小(或最大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。下面,让我们通过两种不同的方法来实现选择排序吧!👇
第一种方法:经典选择排序
```c
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;
int temp = arr[min_idx];
arr[min_idx] = arr[i];
arr[i] = temp;
}
}
```
第二种方法:优化版选择排序
```c
void optimizedSelectionSort(int arr[], int n) {
int i, j, min_idx, max_idx;
for (i = 0; i < n / 2; i++) {
min_idx = max_idx = i;
for (j = i + 1; j < n - i; j++) {
if (arr[j] < arr[min_idx])
min_idx = j;
else if (arr[j] > arr[max_idx])
max_idx = j;
}
int temp = arr[min_idx];
arr[min_idx] = arr[n - 1 - i];
arr[n - 1 - i] = temp;
if (max_idx == n - 1 - i)
max_idx = min_idx;
temp = arr[max_idx];
arr[max_idx] = arr[i];
arr[i] = temp;
}
}
```
这两种方法各有千秋,经典选择排序易于理解,而优化版选择排序则在某些情况下能够减少交换次数,提高效率。希望这些代码能帮助你在C语言的学习之路上更进一步!🚀📚
选择排序 C语言 编程技巧