简单排序之选择排序
程序员文章站
2022-04-05 22:51:35
...
1、什么是选择排序
选择排序是一种更加简单直观的排序方法。
即:选择元素放到合适的位置
而这个选择元素不是随便选的,可以选择最小/最大
如:选择最小的元素,放到数组的第一个位置
2、原理
1、定义一个minIndex存储最小值的索引,先假设第一个索引处的值为最小,即minIndex = 0,然后遍历后面的元素,跟他们进行值的比大小,如果minIndex处的值大于其他索引处 X 的值,那么minIndex = X,如果数组还没遍历完,那么就继续找最小的,直到一次遍历结束。
2、交换第一个索引处(0)和minIndex处的值。
3、重复1、2步,当走完一次排序后,minIndex就找次小的位置和元素,进行放置。
3、代码实现
public static void sort(int[] arr){
for (int i = 0; i < arr.length-1; i++) {
//定义一个minIndex,用于保存最小值的索引,从而最后将其放到特定位置
int minIndex = i;
for (int j = i+1; j < arr.length; j++) {
if (arr[minIndex] > arr[j]){
minIndex = j;
}
}
if (minIndex != i){
int temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
}