美文网首页
插入排序

插入排序

作者: lpworkstudy | 来源:发表于2017-09-15 23:21 被阅读0次

    思想

    对于单个元素来说,它是有序的;对于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;
    }
    

    相关文章

      网友评论

          本文标题:插入排序

          本文链接:https://www.haomeiwen.com/subject/kroesxtx.html