package com.lll.algorithms.sort;
import java.util.Arrays;
/**
* @ClassName : SelectSort
* @Description: 选择排序
* @Author: liulianglin
* @Date: 2021/11/19 10:47
* @Version : 1.0
*/
public class SelectSort {
public static void selectSort(int[] arr){
for (int i = 0; i < arr.length-1; i++) {
int minIndex = i;
int min = arr[i];
for (int j = 0+i; j <arr.length ; j++) {
if (min > arr[j]){
//内循环中,每次遍历如果遇到比预想最小值小的元素,
// 则将min 和 minIndex设置为该元素的值和下标
min = arr[j];
minIndex = j;
}
}
//一轮结束,重新更新minIndex 和 min, 相当于每轮找到一个最小值。
// 然后下轮循环从最小值下标的下一个元素开始。
if (minIndex != i){
arr[minIndex] = arr[i];
arr[i] = min;
}
}
}
public static void main(String[] args) {
int[] arr = {1,6,-1,9};
selectSort(arr);
System.out.println(Arrays.toString(arr));
}
}
[排序算法02]--选择排序
最新推荐文章于 2024-07-24 17:27:32 发布