算法之插入排序

就是將須要排序的數據不斷插入到已排好序的數據中,時間複雜度爲O(N^2);java

public static void main(String[] args) {
    int[] a = {22, 21, 3, 4, 2, 19, 200, 50};
    insertionSort(a);
}

public static void insertionSort(int[] a) {
    for (int p = 1; p < a.length; p++) {
        //待排序,從第2個數開始排序
        int tmp = a[p];
        //待排序數字與前面全部的數字進行對比,若是比較數字大於待排序數字就換位置
        for (int j = p; j > 0 && a[j - 1] > tmp; j--) {
            a[j] = a[j - 1];
            a[j-1] = tmp;
        }
    }
    System.out.println(Arrays.toString(a));
}
[2, 3, 4, 19, 21, 22, 50, 200]
相關文章
相關標籤/搜索