public static void main(String[] args) {
int[] array = {101, 34, 119, 1, 136, 185};
selectSort(array);
System.out.println("排序后:" + Arrays.toString(array));
}
/**
* 选择排序,时间复杂度 O(n²)
*
* @param array
*/
public static void selectSort(int[] array) {
for (int i = 0; i < array.length - 1; i++) {
// 假设最小数的下标
int minIndex = i;
// 最小数的值
int min = array[i];
for (int j = i + 1; j < array.length; j++) {
// 说明假设的最小值不是最小
if (min > array[j]) {
min = array[j];
minIndex = j;
}
}
if (minIndex != i) {
array[minIndex] = array[i];
array[i] = min;
}
}
}
运行结果
排序后:[1, 34, 101, 119, 136, 185]