选择排序算法

问题:给定一个整数序列,按照从小到大的顺序(确切地说,是非递减的顺序)排列序列中的整数。
输入:一个整数序列。
输出:整数序列,其中的整数升序排列。

//简单选择排序, 时间复杂度 O(n^2)  2017年7月21日
#include <stdio.h>
#define LEN 10

int main(){
    int i,j;
    int arr[LEN];
    void sort(int a[LEN]);
    
    printf("请输入数组的%d个元素
", LEN);
    for(i=0; i<LEN; i++){
        scanf("%d",&arr[i]);
    }
    printf("排序前的数组为:
");
    for(j=0; j<LEN; j++){
        printf("%4d",arr[j]);
    }
    printf("
");

    //进行选择排序
    sort(arr);
    printf("排序后的数组为:
");
    for(j=0; j<LEN; j++){
        printf("%4d",arr[j]);
    }
    printf("
");
    return 0;
}

void sort(int a[LEN]){
    int min,temp,i,j;
    for(i=0; i<LEN; i++){
        min=i;
        for(j=i+1; j<LEN; j++){
            if(a[j]<a[min]) min=j;
        }
        temp=a[min];
        a[min]=a[i];
        a[i]=temp;//认真啊
    }
}
原文地址:https://www.cnblogs.com/Allen-win/p/7218785.html