排序_插入排序_Java实现

2017-08-25  本文已影响5人  lyn0130

简而言之就是,抓牌,左手拿牌,右手抓牌,每次拿牌都按顺序放到左手里

/**
     * 插入排序
     * @param arrray
     * @author liyanan
     * @date Aug 25, 2017 9:57:27 AM
     */
    public static void insertSort(int[] array) {
        int length = array.length;
        for(int i=0; i<length; i++) {
            for(int j=i+1; j<length; j++) {
                if(array[j] >= array[i]) {
                    break;
                }
                for(int k=j; k>0; k--) {
                    if(array[k] < array[k-1]) {
                        int temp = array[k];
                        array[k] = array[k-1];
                        array[k-1] = temp;
                    }
                }
            }
        }
    }

时间复杂度: O(n^2) - O(1)
空间复杂度:O(1)

上一篇 下一篇

猜你喜欢

热点阅读