Java数组常见的几种排序。

发布时间 2023-12-23 17:21:35作者: 浮光跃迁
public class code2 {
    public static void main(String[] args) {
        int[] x = {37, 89, 23};

        for (int z = 0; z < x.length - 1; z++) {
            int minIndex = z;
            for (int i = z+1; i < x.length; i++) {
                if (x[i] < x[minIndex]) {
                    minIndex = i;
                }


            }
            if (minIndex != z) {
                int tem = x[z];
                x[z] = x[minIndex];
                x[minIndex] = tem;
            }



        }
        for (int i = 0; i < x.length; i++) {
            System.out.println(x[i]);
        }
    }
}

这串代码是数组中的选择排序,它的原理是:

先假设一个数组中下标为0 的元素为最小的数值,我们通过循环来比较下标为0 的数值与数组中的其它数值进行比较,如果有比他小的数值,那我们就把它的下标赋给我们先前所定义的变量中minIndex

最外层的循环是我们控制在数组中的第几位放什么数值。并且控制我们的轮回的次数,因为有一些已经排好的数值我们就不要重新把他们排序。

下面那个if语句就是把它们之间的位置调换一下,借助一个其他的变量来完成。