选择排序
思想:①从未排序序列中选出最小的数字,放入已排序序列的起始位置。
② 再从未排序序列中选出最小的数字,放入已排序序列的末尾。
③ 重复步骤②
图示:演示动画
时间复杂度:O(n²)
代码实现:
public static void selectSort(int[] arr){
for (int i = 0; i < arr.length-1; i++) {
int min = arr[i];
int position = 0;
// 9,7,5,1,3,5,4,7
for (int j = i; j < arr.length; j++) {
if (min > arr[j]){
min = arr[j];
// 拿到未排序序列的最小值的下标
position = j;
}
}
int tmp = arr[position];
arr[position] = arr[i];
arr[i] = tmp;
}
}
本文介绍了选择排序的基本思想和步骤,包括从未排序序列中依次选取最小元素并放到已排序序列的正确位置,直到所有元素均排序完毕。该算法的时间复杂度为O(n²)。此外,还提供了Java代码实现来展示选择排序的过程。

被折叠的 条评论
为什么被折叠?



