插入排序(Java实现)

将待排序中的一个数插入到已排好序的数据中的适当位置上,从而得到一个新的有序数据。
时间复杂度O(N^2),稳定的排序算法。
当数组元素部分有序时,效率变高。

    public static void insertionSort(int[] a){
        int N = a.length;

        for(int i = 1; i < N; i++){
            for(int j = i; j > 0 && a[j] < a[j-1]; j--){//升序
                int temp = a[j];
                a[j] = a[j-1];
                a[j-1] = temp;
            }
        }
    }

你可能感兴趣的:(数据结构与算法)