用c语言编写自定义函数ChoiceSort,其功能是用选择排序法对数组a中的n个元素按升序排序
时间: 2023-12-06 20:45:08 浏览: 91
C语言程序设计-编写函数用选择排序法对数组中的数据进行从小到大的排序;
5星 · 资源好评率100%
以下是用C语言编写的ChoiceSort函数,实现选择排序法对数组a中的n个元素按升序排序:
```c
void ChoiceSort(int a[], int n) {
int i, j, k, temp;
for (i = 0; i < n - 1; i++) {
k = i;
for (j = i + 1; j < n; j++) {
if (a[j] < a[k]) {
k = j;
}
}
if (k != i) {
temp = a[i];
a[i] = a[k];
a[k] = temp;
}
}
}
```
函数的参数包括一个整型数组a和整型变量n,用于指定数组a中需要排序的元素个数。函数内部使用了两层循环,外层循环控制每一轮选择排序,内层循环则用于查找剩余元素中的最小值。对于每一轮选择排序,我们首先假设当前未排序部分中的第一个元素为最小值,并记录其下标k。接着从未排序部分的第二个元素开始遍历,如果发现有比当前最小值更小的元素,则更新最小值的下标k。最后,如果最小值的下标k不等于当前未排序部分的第一个元素下标i,则交换这两个元素的值。这样就可以将当前未排序部分的最小值放到已排序部分的末尾,同时继续对下一个未排序的元素进行选择排序,直到所有元素都被排序为止。
阅读全文