代码
public class Main {
public static void main(String[] args) {
int arr[] = {3,9,-1,10,-2};
selectSort(arr);
}
public static void selectSort(int[] arr){
int min = 0;//最小数是多少
int minIndex = 0;//最小数的下标是多少
for (int i = 0;i < arr.length - 1;i++){
min = arr[i];
minIndex = i;
for (int j = i + 1;j < arr.length;j++){//注意这个条件是 j < arr.length 说明可以比较到最后一个
if (arr[j] < min){
min = arr[j];
minIndex = j;
}
}
//经过上面循环后,已经找到每一轮的最小值了,则将arr[i]与最小值互换
if (minIndex != i){
arr[minIndex] = arr[i];
arr[i] = min;
}
}
System.out.println("排完序的数组为:"+Arrays.toString(arr));
}
}
结果
排完序的数组为:[-2, -1, 3, 9, 10]