目录
1.原理
每一趟发现最小(大)的数,然后移至最起始(考前)位置.n个数字理论上需要n趟
2.Java代码实现
public static void selectSort(int[] arr){
for(int i=0; i<arr.length; i++) {
//最小数的索引
int minIndex = i;
for(int j=i; j<arr.length; j++) {
//找到最小数,并记录最小数的索引
if(arr[j] < arr[minIndex]) {
minIndex = j;
}
}
//交换符合条件的数
int tmp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = tmp;
System.out.print("第"+(i+1)+"趟:");
for (int j = 0; j <arr.length ; j++) {
System.out.print(arr[j]+" ");
}
System.out.println();
}
}