首页 > 科技 >

选择排序两种写法_c语言 选择排序2种写法 📊💡

发布时间:2025-02-27 05:30:44来源:

在编程的世界里,选择排序是一种简单直观的排序算法,它的工作原理是从未排序序列中找到最小(或最大)元素,存放到排序序列的起始位置,然后从剩余未排序元素中继续寻找最小(或最大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。下面,让我们通过两种不同的方法来实现选择排序吧!👇

第一种方法:经典选择排序

```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语言 编程技巧

免责声明:本答案或内容为用户上传,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 如遇侵权请及时联系本站删除。