插入排序

2017-09-15  本文已影响0人  lpworkstudy

思想

对于单个元素来说,它是有序的;对于n个元素,我们从第二个开始依次与前面的元素进行比较插入形成有序子序列,直到完成所有元素的插入,即排序完成。

代码

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

}

int main(void)
{
    int a [] = {1,3,5,1,4,2,0};
    int length = sizeof(a) / sizeof(int);
    insert_sort(a,length);
    int i;
    printf("The sorted number is :\n");
    for(i = 0; i < length; i++)
        printf("%d ",a[i]);
    printf("\n");
    return 0;
}
上一篇 下一篇

猜你喜欢

热点阅读