简单选择排序

假设排序表为L[1...n],第i趟排序即从L[i...n]中选择关键字最小的元素与L(i)交换,每一趟排序即可确定一个元素的最终位置,这样经过n-1趟排序就可以使得整个排序表有序。

  1. void SelectSort(ElemType A[], int n)
  2. {
  3. for(i=0; i<n-1; i++)//一共进行n-1趟
  4. {
  5. min=i;//记录最小元素的位置
  6. for(j=i+1; j<n; j++)//在A[i...n-1]中选择最小的元素
  7. {
  8. if(A[j]<A[min])
  9. min=j;//更新最小元素的位置
  10. }
  11. if(min!=j)
  12. swap(A[i], A[min]);//与第i个位置进行交换
  13. }
  14. }
时间复杂度o(n^2)
不稳定的排序




posted @ 2015-08-22 15:37  Lucas_1993  阅读(105)  评论(0编辑  收藏  举报