选择排序

来源:互联网 发布:金融类的书籍推荐 知乎 编辑:程序博客网 时间:2024/05/21 22:36

选择排序

选择排序是一种简单直观的排序算法,其核心思想是:遍历数组,从未排序的序列中找到最小元素,将其放到已排序序列的末尾。

时间复杂度:O(n^2)

稳定性 :不稳定

   1: /*
   2:  * @brief    selection sort
   3:  */
   4: void
   5: selection_sort(int a[], int n)
   6: {
   7:     int i, j, min, tmp;
   8:     
   9:     for (i = 0; i < n - 1; ++i) {
  10:         min = i;
  11:         for (j = i+1; j < n; ++j) {
  12:             if (a[j] < a[min]) {
  13:                 min = j;
  14:             }
  15:         }
  16:         if (min != i) {
  17:             tmp = a[min];
  18:             a[min] = a[i];
  19:             a[i] = tmp;    
  20:         }                
  21:     }
  22: }
分类: 数据结构与算法
0 0