选择排序 C++实现

 

实现思想:

1.寻找[i, n)区间里的最小值min ( i>= 0 )

2.交换min和第i的数 ( i>= 0 )

#include <iostream>
#include <algorithm>

using namespace std;

void selectionSort(int arr[], int n){

    for(int i = 0 ; i < n ; i ++){
        // 寻找[i, n)区间里的最小值
        int minIndex = i;
        for( int j = i + 1 ; j < n ; j ++ )
            if( arr[j] < arr[minIndex] )
                minIndex = j;

        swap( arr[i] , arr[minIndex] );
    }

}

int main() {

    int a[10] = {10,9,8,7,6,5,4,3,2,1};
    selectionSort(a,10);
    for( int i = 0 ; i < 10 ; i ++ )
        cout<<a[i]<<" ";
    cout<<endl;

    return 0;
}

 

posted @ 2020-02-16 20:06  鸿鹄当高远  阅读(1463)  评论(0编辑  收藏  举报