选择排序:
思想:第一次从待排序的数据元素中选出最小(大)的一个元素,放在序列的起始位置,再从剩余未排序元素中继续寻找最小(大)的元素,放在起始位置的下一个位置,以此类推,直至所有元素都有序。
java代码如下:
public static void selectSort(int[] arr) {
//选择排序时间复杂度是 O(n^2)
for (int i = 0; i < arr.length - 1; 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
}
}
// 将最小值,放在序列首部, 即交换
if (minIndex != i) {
arr[minIndex] = arr[i];
arr[i] = min;
}
}