0
点赞
收藏
分享

微信扫一扫

八大排序算法之插入排序—Java

佳简诚锄 2022-05-03 阅读 55

插入排序

时间复杂度O(n^2)空间复杂度O(1)
思路:将数组分为一共无序列表(右侧)一个有序列表(左侧),最初有序列表只有一个,每次将一个无序列表中的数插入到有序列表中

public static void insertSort(int[] ints){
        int n = ints.length;
        for (int i = 1; i < n; i++) {//无序列表从i开始
            int indexVal = ints[i];//记录i值
            int j = i - 1;
            while (j >= 0 && ints[j] >indexVal){
                ints[j + 1] = ints[j];
                j--;

            }
            //最终j + 1就是indexVal的位置
            //判断是否要赋值
            if(j != i - 1){
                ints[j + 1] = indexVal;
            }
            System.out.println(Arrays.toString(ints));
        }
    }
举报

相关推荐

0 条评论