美文网首页
选择排序

选择排序

作者: HeoLis | 来源:发表于2019-05-03 18:16 被阅读0次
    //
    // Created by heolis on 19-5-3.
    //
    
    #include <bits/stdc++.h>
    
    using namespace std;
    
    void selectSort(int A[], int n) {
        for (int i = 0; i < n; i++) {    // 进行n趟排序
            int min_k = i;
            for (int j = i; j < n; ++j) {   // 选出[i, n]中最小的元素,下标为k
                if (A[j] < A[min_k])
                    min_k = j;
            }
            int temp = A[i];    // 交换
            A[i] = A[min_k];
            A[min_k] = temp;
        }
    }
    
    void print(int n) {
        printf("%d ", n);
    }
    
    int main() {
        int num[] = {-1, 12, 5, 9, 8, 40, 6, -8, 2, 1, 3};
        int length = sizeof(num) / sizeof(int);
        for_each(num, num + length, print);
        selectSort(num, length);
        printf("\n");
        for_each(num, num + length, print);
        
        return 0;
    }
    
    

    相关文章

      网友评论

          本文标题:选择排序

          本文链接:https://www.haomeiwen.com/subject/uyeznqtx.html