选择排序

选择排序是选择一个数和剩下所有数对比然后拍好位置

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));
            }
        }
}
以粮为纲全面发展
原文地址:https://www.cnblogs.com/alexliuf/p/13172354.html