算法----选择排序(select sort)

2015-02-02 14:43:24 · 作者: · 浏览: 30

选择排序就是每次将未排序的数组中最小的一个元素找出,将其与数组的第一个元素交换,从而完成数组的排序。


算法实现:


void sort::select_sort(int* a,const int n)
{
?for(int i=0 ;i?{
? int min = i;
? for(int j=i+1; j? {
? ?if(a[j] < a[min])
? ? min = j;
? }
? swap(a,i,min);
?}
}


上述算法可以看出,在选择排序的过程中只交换了N次数组元素。算法的时间复杂度为O(N^2)。