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

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

算法实现:

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

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

相关推荐