public class SelectSort { public static void main(String[] args) { int[] arr = {101, 34, 119, 1}; selectSort(arr); } //选择排序 public static void selectSort(int[] arr) { //使用逐步推导的方式来,讲解选择排序 //第1轮 //原始的数组: 101,34,119,1 //第一轮排序: 1,34,119,101 int minIndex = 0;//最小值的数组索引值 int min = arr[minIndex];//最小值 for (int i = 0 + 1; i < arr.length; i++) { if (min > arr[i]) { min = arr[i]; minIndex = i; } } //交换 arr[minIndex] = arr[0]; arr[0] = min; System.out.println("第一趟排序结果:"); System.out.println(Arrays.toString(arr)); //第2轮 minIndex = 1;//最小值的数组索引值 min = arr[minIndex];//最小值 for (int i = 0 + 2; i < arr.length; i++) { if (min > arr[i]) { min = arr[i]; minIndex = i; } } //交换 arr[minIndex] = arr[1]; arr[1] = min; System.out.println("第二趟排序结果:"); System.out.println(Arrays.toString(arr)); //第3轮 minIndex = 2;//最小值的数组索引值 min = arr[minIndex];//最小值 for (int i = 0 + 3; i < arr.length; i++) { if (min > arr[i]) { min = arr[i]; minIndex = i; } } //交换 arr[minIndex] = arr[2]; arr[2] = min; System.out.println("第三趟排序结果:"); System.out.println(Arrays.toString(arr)); }}