思想:
依次选最小的元素往前面放
package Sort; import java.util.Arrays; public class SelectSort { public static void main(String[] args) { int[] arr = new int[] {45, 23, 89, 21, 12, 90, 4, 0}; System.out.println(Arrays.toString(arr)); selectSort(arr); System.out.println(Arrays.toString(arr)); } //选择排序 public static void selectSort(int[] arr){ //遍历所有的数 for (int i = 0; i < arr.length; i++){ int minIndex = i; //把当前遍历的数与后面的数依次进行比较,并记录最小的数的下标 for (int j = i + 1; j < arr.length; j++){ //如果后面的数比记录的数小,记录后面的数下标 if (arr[minIndex] > arr[j]){ minIndex = j; } } //如果最小的数和当前遍历的数的下标不一样 if (i != minIndex){ int temp = arr[i]; arr[i] = arr[minIndex]; arr[minIndex] = temp; } } } }