【数据结构】C语言实现排序算法------简单选择排序

it2023-01-06  63

简单选择排序:每一次在待排序列中,选取最小(最大)的数据,放在待排的位置。

图例:

C代码实现:

int GetMinPos(int *arr, int left, int right)//获取最小位置 { int Min = left; for (int i = left + 1; i < right; i++) { if (arr[Min] > arr[i]) { Min = i; } } return Min; } void SelectSort(int *arr, int left, int right) { for (int i = left; i < right; i++) { int j = GetMinPos(arr, i, right);//获取最小位置 if (j != i)// 最小的位置当前位置不相等 { Swap(&arr[i], &arr[j]);//进行交换 } } }

简单选择排序是一种很好理解的排序算法。

特性总结:

时间复杂度:O(N^2)空间复杂度:O(1)稳定性:稳定
最新回复(0)