简单选择排序
1 简单选择排序
1.1 算法步骤
a.首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。
b.再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。
c.重复第二步,直到所有元素均排序完毕。

1 void SelectSort(RecType arr[],int n) //递增
2 {
3 int i,j,k;
4 for(int i=0;i<n-1;i++) //最后一趟不用走了
5 { k=i;
6 for(j=i+1;j<n;j++)
7 {
8 if(arr[j]<arr[k])
9 k=j;
10 }
11 if(k!=i)
12 swap(arr[i],arr[k]);
13 }
14 }
简单选择排序的平均时间复杂度为O(n2),但是它为不稳定的的排序方法。

浙公网安备 33010602011771号