插入排序

来源:互联网 发布:java递归遍历二叉树 编辑:程序博客网 时间:2024/06/05 09:14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public static void sort(int[] array) {
    if (array.length == 0 || array.length == 1)
        return;
    for (int i = 1; i < array.length; i++) {
        int temp = array[i];
        int j;
        for (j = i - 1; j >= 0; j--) {
            if (array[j] > temp) {
                array[j + 1] = array[j];
            else {
                break;
            }
        }
        array[j + 1] = temp;
    }
}

最优时间复杂度:O(n)

平均时间复杂度:O(n^2)

最坏时间复杂度:O(n^2)

平均空间复杂度:O(1)

插入排序如果对于相同的两个数不会改变他们的前后顺序,要么插入到相同数据的前方,要么插入到后方,但是相同数据的前后顺序是不变的,所以是插入排序稳定的。

0 0
原创粉丝点击