public class xuanzepaixu { public static void main(String[] args) { int[] arr={101,34,119,1}; selectSort(arr); System.out.println("排序后"+ Arrays.toString(arr)); } //选择排序 //时间复杂度是n的平方 public static void selectSort(int[] arr) { //使用逐步推导的方式来,讲解选择排序 //第1论 //原始的数组:101,34,119,1 //第一轮排序:1,34,119,101 for (int i = 0; i < arr.length; i++) { int minIndex = i; int min = arr[i]; for (int j = i + 1; j < arr.length; j++) { //从大到小把这个>换成< if (min > arr[j]) { //说明假定的最小值,并不是最小 min = arr[j];//重置min minIndex = j;//重置minIndex } } //将最小值放在arr[0],把arr[0]交换 if(minIndex != i){ arr[minIndex] = arr[i]; arr[i] = min; } } } }