- 算法思想
- 排序过程
- 代码实现
- 测试结果
1.选择排序算法思想:
选择排序的核心分为2步,即查找最小值和交换。每轮从待排序的数组中查找最小值放入待排数组的第一位,以此,即可得到有序数组。
2.排序过程:
原始数组:90, 51, 42, 95, 21, 12, 10
第1轮后结果:[10, 51, 42, 95, 21, 12, 90]
第2轮后结果:[10, 12, 42, 95, 21, 51, 90]
第3轮后结果:[10, 12, 21, 95, 42, 51, 90]
第4轮后结果:[10, 12, 21, 42, 95, 51, 90]
第5轮后结果:[10, 12, 21, 42, 51, 95, 90]
第6轮后结果:[10, 12, 21, 42, 51, 90, 95]
第7轮后结果:[10, 12, 21, 42, 51, 90, 95]
3.代码实现:
//选择排序
public class SelectSort {
//测试选择排序
public static void main(String[] args) {
int[] array = {90, 51, 42, 95, 21, 12, 10};
selectSortFunction(array);
System.out.println(Arrays.toString(array));
}
//选择排序实现方法
public static void selectSortFunction(int[] array) {
for (int i = 0; i < array.length; i++) {
int minIndex = i;
int min = array[i];
//找最小的值和索引
for (int j = i; j < array.length; j++) {
if (array[j] < min) {
min = array[j];
minIndex = j;
}
}
//交换
int temp = array[i];
array[i] = array[minIndex];
array[minIndex] = temp;
}
}
}
4.测试结果:
4.1 每轮执行结果:
4.2 最终结果: