选择排序原理及思路
程序员文章站
2022-03-24 15:45:14
...
1.选择排序原理
选择排序其实就是选择出未排序部分的最小值,进行排序操作
话不多说,直接上图
图中的黄色部分为我们已经排好序的数组部分
图中的红色部分为未排好序数组中遍历过的最小值
图中的蓝色部分为未排序的数组部分
2.思路
遍历数组中未排序的部分,取出最小值,和未排序的第一个交换位置,然后重复此操作
代码如下
/**
* 选择排序
*/
public static int[] selectionSort(int[] arr){
//临时变量,用于临时存放
int temp;
for(int k = 0; k < arr.length-1;k++) {
//定义数组中最小值的下标,根据下标就能找到数组中的最小值,每一轮开始就重新定义最小值
int minIndex = k;
for (int i = k+1; i < arr.length; i++) {
//如果遇到比之前最小值小的,就重新赋值下标位置
if (arr[minIndex] > arr[i]) {
minIndex = i;
}
}
//如果最小值不是当前值,则进行交换
if(k != minIndex) {
temp = arr[k];
arr[k] = arr[minIndex];
arr[minIndex] = temp;
}
}
System.out.print(Arrays.toString(arr));
return arr;
}
上一篇: 家有俩宝