思路:
先找出数组中的最小值,然后获得最小值和最小值的索引,把最小值与第一个值交换 。
确定最小的的位置后,不再把有序部分纳入下个最小值的查找。
public static int[] select(int[] arr){
for(int i=0;i<arr.length-1;i++){
int min=arr[i];
int minIndex=i;
for(int j=i+1;j<arr.length;j++){
if(min>arr[j]){
min=arr[j];
minIndex=j;
}
}
//交换
arr[minIndex]=arr[i];
arr[i]=min;
}
return arr;
}