算法之插入排序

就是将须要排序的数据不断插入到已排好序的数据中,时间复杂度为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]
相关文章
相关标签/搜索