选择排序的思路
选择最大的 (或最小的那个数放在数组的起始位置)
再把剩下的数拿出来重复这个过程
代码实现
public static void selection(int[] arr){
if(arr ==null || arr.length<2){
return;//为空或者为1 没必要排序了
}
for(int i=0;i<arr.length -1;i++){
int minIndex =i;
for(int j=i+1;j<arr.length;j++){
minIndex =arr[j]<arr[minIndex] ?j:minIndex;
}
swap(arr,i,minIndex);
}
}
private static void swap(int[] arr, int i, int j) {
int tmp =arr[i];
arr[i] = arr[j];
arr[j] =tmp;
}
public static void main(String[] args) {
int[] a = new int[]{3,5,1,2,3,4,6,7,5,9};
selection(a);
System.out.println(Arrays.toString(a));
}