选择排序:从数组空间中选择第一个空间然后和其他空间中的数据进行比较,如果要求升序排列,那么选择的这个空间中的数据和其他空间中的数据比较完之后将最小的数据和当前的第一个空间中的数据进行互换位置。然后再选择第二个空间中的数据和除第一个空间中的数据进行比较,同样找出最小的数据,将两个空间中的数据的位置互换。后面的数据以此类推,一直到将所有的数据变成从小变大的数据为止。如果将数据进行降序排列,方法相反。
1 public class Demo { 2 public static void main(String[] asadscgs) { 3 int[] arr = { 11, 22, 33, 44, 55, 66, 77, 99, 0, -1 }; 4 printArray(arr); 5 selectSort(arr); 6 printArray(arr); 7 } 8 9 // 对数组进行排序的方法 10 public static void selectSort(int[] arr) { 11 // 进行对数组的排序 12 for (int i = 0; i < arr.length - 1; i++) // 外循环提供的是当前需要选择的那个空间的下标 13 { 14 for (int j = i + 1; j < arr.length; j++) // 内循环提供的是外循环提供的某个空间身后剩余的所有空间下标 15 { 16 // 对选中的空间和后面的某个空间进行比较 17 if (arr[i] > arr[j]) { 18 int temp = arr[i]; 19 arr[i] = arr[j]; 20 arr[j] = temp; 21 } 22 } 23 } 24 } 25 26 // 打印数组中的数据 27 public static void printArray(int[] arr) { 28 for (int i = 0; i < arr.length; i++) { 29 System.out.print(arr[i] + " "); 30 } 31 System.out.println(); 32 33 } 34 }