选择排序

思想

每一轮选择出数组中最小的,最后与这一轮的第一个数交换位置

代码

#include <stdio.h>

int select_sort(int arr[],int n){
    for (int i=0; i<n; i++) {
        int minIndex = i;
        for (int j = i+1; j<n; j++) {
            if (arr[j]<arr[minIndex]) {
                minIndex = j;
            }
        }
        int temp = arr[i];
        arr[i] = arr[minIndex];
        arr[minIndex] = temp;
    }
    return 0;
}

int main(int argc, const char * argv[]) {
    // insert code here...
    int arr[] = {7,3,5,9,8,1,2};
    select_sort(arr, 7);
    for (int i = 0; i<7; i++) {
        printf("%d\n",arr[i]);
    }
    return 0;
}

posted @ 2017-05-15 19:13  郑闯  阅读(113)  评论(0编辑  收藏  举报