选择排序
package com.sort;
import java.util.Arrays;
/**
* @Author Handsome
* @Date 2022/8/12 13:27
* @Version 1.0
*/
public class 选择排序 {
public static void main(String[] args) {
selectSort(new int[]{2, 35, 520, 11, 88});
// 输出
// 第1趟排序后的数组
// [2, 35, 520, 11, 88]
// 第2趟排序后的数组
// [2, 11, 520, 35, 88]
// 第3趟排序后的数组
// [2, 11, 35, 520, 88]
// 第4趟排序后的数组
// [2, 11, 35, 88, 520]
}
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 = i + 1; j < arr.length; j++) {
if (min > arr[j]) { // 说明假定的最小值,并不是最小
min = arr[j]; // 重置min
minIndex = j; // 重置minIndex
}
}
// 将最小值,放在arr[i],即交换
if (minIndex != i) {
arr[minIndex] = arr[i];
arr[i] = min;
}
System.out.println("第" + (i + 1) + "趟排序后的数组");
System.out.println(Arrays.toString(arr));
}
}
}
我的学习论坛
HandsomeForum:用Java编写的学习论坛,打造我们自己的圈子!(http://huangjunjie.vip:66)