选择排序就是每次将未排序的数组中最小的一个元素找出,将其与数组的第一个元素交换,从而完成数组的排序。
算法实现:
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)。