选择排序是选择一个数和剩下所有数对比然后拍好位置
package day12_oo; import java.util.Arrays; /* * 选择排序 * 5.给定数组:int[] a = {1,2,3,4,5}, * 利用选择排序对其按照从大到小的顺序排序,然后输出结果。 * 第1轮排序 * [5, 2, 3, 4, 1] * 第2轮排序 * [5, 4, 3, 2, 1] * 第3轮排序 * [5, 4, 3, 2, 1] * 第4轮排序 * [5, 4, 3, 2, 1] */ public class ChangeSort { public static void main(String[] args){ int[] a = {1,2,3,4,5}; change(a); } static void change(int[] arry){ for(int i = 0;i<arry.length-1;i++){//每轮选出最高的值并且放在a[0]位置上,选出来之后下一轮首位加一 int min = arry[i];//每轮的首位 int minIndex = i;//每轮首位的索引 for(int j = i+1;j<arry.length;j++){//每轮用首位和剩下其他位对比 if(min < arry[j]){//如果首位比其他位小则重置 min = arry[j]; minIndex = j; } } if(min != i){//判断是否a[0]位置是否是最小的数否则交换 arry[minIndex] = arry[i];//交换值 arry[i] = min; } System.out.println("第"+(i+1)+"轮排序"); System.out.println(Arrays.toString(arry)); } } }