核心思想
每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。
算法特点
不稳定排序
最坏时间复杂度O(n^2)
空间复杂度O(1)
void selectSort(int array[], int length)
{
int i, j;
int key, temp;
for(i=0; i<length; i++)
{
key = i;
for(j=i+1; j<length; j++)
if(array[j] < array[key])
key = j;
if(key!=i)
{
temp = array[i];
array[i] = array[key];
array[key] = temp;
}
}
}
本文深入探讨了选择排序算法的核心思想、特点及其代码实现,包括稳定性和时间复杂度分析,详细介绍了如何通过循环和比较操作对数组进行排序。
1230

被折叠的 条评论
为什么被折叠?



