欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

插入排序算法

程序员文章站 2022-05-12 17:48:26
插入排序算法 对于插入排序算法来说,它是一种比较排序的一种。以后的博文中我会陆续介绍其余的几种排序算法。 时间复杂度o(n^2), 空间复杂度o(1) 排序时间与输入有关:输入的元素个数;元素已排序...

插入排序算法

对于插入排序算法来说,它是一种比较排序的一种。以后的博文中我会陆续介绍其余的几种排序算法。

时间复杂度o(n^2),

空间复杂度o(1)

排序时间与输入有关:输入的元素个数;元素已排序的程度。

最佳情况,输入数组是已经排好序的数组,运行时间是n的线性函数;

最坏情况,输入数组是逆序,运行时间是n的二次函数。

核心代码:

void insertionsort(int a[]){
        int temp;
        for(int i = 1; i=0; j--){
                if( a[j+1] < a[j] ){
                    temp = a[j+1];
                    a[j+1] = a[j];
                    a[j] = temp;
                }   
            }   
        }
    }