#include <iostream>
using namespace std;

int main() {

    int arr[6] = { 0 };
    int len = sizeof(arr) / sizeof(int);
    
    for (int i = 0; i < len; i++) {
        cin >> arr[i];
    }
    
    // write your code here......
    for(int i=0;i<len-1;i++)
    {
        int mini=i;
        for(int j=i+1;j<len;j++ ){
            if(arr[j]<arr[mini]){
                mini=j;
            }
        }
        int tmp=arr[i];
        arr[i]=arr[mini];
        arr[mini]=tmp;
    }
    for(int i=0;i<len;i++){
        cout<<arr[i]<<" ";
    }

    return 0;
}
选择算法 首先寻找整个数组里最小元素放在序列开头,然后在未排序的序列里找最小的那个,放在已排序序列的最后,以此类推,直至所有的元素均排列。
a[0]=min(a[0],[1].....a[n-1])
a[1]=min(a[1],a[2]...a[n-1])
....
a[n-2]=min(a[n-2],a[n-1])
a[n-1]=a[n-1]------a[n-2] 求值时已经换过去了,只剩最后一个
所以i取值[0,n-2],mini初始化为i,所以j取值[i+1,n-1]
时间复杂度最好最坏平均都是O() ;空间复杂度O(1);不稳定排序