选择排序:每一趟(如第i趟)在后面n-i+1个待排序元素中选取关键字最小的元素,作为有序元素序列第i个元素,共需进行n-1趟。
1.简单选择排序
思想:将最小的元素找出并放在序列的最前面,在剩下的元素中继续找出最小的元素放在第二个位置上,依此类推,每次选出一个元素,即可确定其在最终有序序列中的最终位置。
void SelectSort(ElemType A[],int len)
{
for(i=0;i<len-1;i++)
{
min=i;
for(j=i+1;j<len;j++)
if(A[j]<A[min])min=j;
if(min!=i)swap(A[i],A[min]);
}
}
排序的平均时间复杂度:O(n*n);
空间复杂度:O(1);
不 稳定