基本操作:
第一次从arr[0到]arr[n-1]中选取最小值,与arr[0]交换,第二次从arr[1]到arr[n-1]中选取最小值,与arr[1]交换,第三次从arr[2]到arr[n-1]中选取最小值,与arr[2]交换,…,第i次从arr[i-1]arr[n-1]中选取最小值,与arr[i-1]交换,…, 第n-1次从arr[n-2]~arr[n-1]中选取最小值,与arr[n-2]交换,总共通过n-1次,得到一个按排序码从小到大排列的有序序列。

import java.util.Arrays;
public class SelectSort {
public static void main(String[] args) {
int[] a = new int[] {1,4,2,5,5,6,2,4,};
sort(a);
System.out.println(Arrays.toString(a));
}
public static void sort(int[] arr) {
for(int i=0;i<arr.length;i++) {
int min = arr[i];//相当于定义一个临时结点
int minIndex = i;//记录最小值位置
for(int j=i+1;j<arr.length;j++) {
if(min>arr[j]) {
minIndex=j;
min=arr[j];
}
}
arr[minIndex]=arr[i];
arr[i] = min;
}
}
}










