import java.util.Arrays; /** * @author WanJl * @version 1.0 * @title Demo05 * @description 数组排序-选择排序 * @create 2026/7/16 */ public class Demo05 { /* 选择排序: 选择排序的思路要比冒泡排序更聪明一点,冒泡排序是不断的交换相邻的元素,而选择排序,是每轮只做一次交换。 选择的思路是 每一轮从剩余未排序的元素中找出最小的元素,直接把它放到未排序部分的第1位。 核心思路:每一轮从未排序区间选出最小值,与未排序区间的第1个元素进行交换。 */ public static void main(String[] args) { /* 选择排序:每一轮从未排序区间选出最小值,放到已排序区间的末尾 */ int[] arr={1,456,782,5,8,4,598,1,46,68,465,74}; //外层循环:i 既是已排序区间的末尾边界,也是当前要确定的位置 for (int i = 0; i < arr.length-1; i++) { //假设当前未排序区间的第1个元素就是最小的 int minIndex=i; //假设i就是最小的元素的索引值 //内层循环:在未排序区间[i+1,arr.length-1] 找到真正的最小值 for (int j = i+1; j