编程实现选择排序函数。void selectionSort(int arr[], int n);。其中arr存放待排序的数据,n为数组长度(1≤n≤1000)。
时间: 2023-11-30 12:14:29 浏览: 130
C语言程序设计-编写函数用选择排序法对数组中的数据进行从小到大的排序;
5星 · 资源好评率100%
好的,这里是选择排序的函数实现:
```c
void selectionSort(int arr[], int n) {
int i, j, min_idx;
// One by one move boundary of unsorted subarray
for (i = 0; i < n-1; i++) {
// Find the minimum element in unsorted array
min_idx = i;
for (j = i+1; j < n; j++)
if (arr[j] < arr[min_idx])
min_idx = j;
// Swap the found minimum element with the first element
int temp = arr[min_idx];
arr[min_idx] = arr[i];
arr[i] = temp;
}
}
```
该函数的基本思想是:在待排序数组中,依次寻找最小元素,并把它放到最前面,然后在剩余元素中再次寻找最小元素,并把它放到已排序元素的后面。重复这个过程,直到整个数组有序为止。
该函数的时间复杂度为 O(n^2),因为它在最坏情况下需要比较 n(n-1)/2 次元素。
阅读全文