插入排序

来源:互联网 发布:淘宝引流宝活动词 编辑:程序博客网 时间:2024/06/07 21:55

/**
* 插入排序
* 时间复杂度:1.最好O(n);2.最坏O(n^2)
* 思想:从第2个元素开始(保存当前元素的值为key),逐一往前把元素与key比较,
* 如果前面元素大于key,则需要后退一位,array[i+1]=array[i];
* 把后面的元素插入
*/

void insert_sort(int* array,int length){    for(int j=1;j<length;j++)    {        int key=array[j];        int i=j-1;        while(i>=0&&array[i]>key)        {            array[i+1]=array[i];            i--;        }        array[i+1]=key;    }}