C語言實現選擇排序算法

選擇排序算法,與冒泡排序的優勢就是減少了交換操作。代碼如下:

void selectSort(int A[], int n){
    int min;
    for (int i = 0; i < n-1; i++) {
        min = i;
        for (int j = i + 1; j< n ; j++) {
            if (A[j] < A[i]) {
                min = j;
            }
        }
        if (min != i) {
            swapA(A, i, min);
        }
        
    }
}

代碼調用如下:

  int A[] = {9,7,11,3,4,1,0};
    int n = sizeof(A)/sizeof(int);
    selectSort(A,n);
    printfArray(A,n);

註釋:

// 分類 -------------- 內部比較排序
// 數據結構 ---------- 數組
// 最差時間複雜度 ---- O(n^2)
// 最優時間複雜度 ---- O(n^2)
// 平均時間複雜度 ---- O(n^2)
// 所需輔助空間 ------ O(1)
// 穩定性 ------------ 不穩定

參考地址:http://www.cnblogs.com/eniac12/p/5329396.html
更多優質文章,可以微信掃碼關注:
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章