交换排序 选择排序c语言实现
时间: 2023-11-25 08:08:45 浏览: 110
选择排序C语言实现
5星 · 资源好评率100%
以下是C语言实现的选择排序代码,其中包括交换两个数据的函数Swap和选择排序函数SelectSort:
```c
//交换两个数据
void Swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
//选择排序
void SelectSort(int* arr, int size) {
int i = 0;
for (i = 0; i < size-1; i++) {
int min = i;
int j = 0;
for (j = i+1; j < size; j++) {
if (arr[j] < arr[min]) {
min = j;
}
}
Swap(&arr[i], &arr[min]);
}
}
```
选择排序的原理是每次从未排序的数据中选择最小的数据,将其放到已排序数据的末尾。选择排序的时间复杂度为O(n^2),空间复杂度为O(1)。
阅读全文