https://s3-us-west-2.amazonaws.com/secure.notion-static.com/9191369e-8f4c-4a55-8468-d8f5d297b329/849589-20171015224719590-1433219824.gif

package top.ltyzqhh.Annotation;

import java.util.Arrays;

public class SelectSort {
    public static void main(String[] args) {
        int[] a={324,234,532,1313,1,3,553};
        System.out.println(Arrays.toString(a));
        selectSort(a);
        System.out.println(Arrays.toString(a));

    }

    public static void selectSort(int[] array){
        int min=0;
        int minindex=0;

        //外层循环,判断我们这个要走多少次;
        for (int i = 0; i <array.length-1 ; i++) {
            min=array[i];//记录最小的数 默认第一个数为最小值
            minindex=i;//记录最小数的下标
            //内层循环,将记录值与元素比较,如果记录值<该元素就将 该将记录值赋值为该元素。
            for (int j = i+1; j <array.length ; j++) {
                if (min>array[j])
                {
                    min=array[j];
                    minindex=j;
                }
            }
            if(i!=minindex) {
                //将第一个值与最小值做比较。
                array[minindex] = array[i];
                array[i] = min;
                }
            }
    }

}