zoukankan      html  css  js  c++  java
  • 【排序】InsertSort

    Why does it call insert sort?

    It's name contains the method it uses.

    It's basic theory was so simple:  Insert a element into a sorted list. 

    But how the sorted list basically initialize ---- build a list with only one element.

    Here comes the code:

    #include <stdio.h>
    #include "type.h"
    void InsertSort(SqList *L)
    {
        int i,j,com;
        for( i= 1; i< L->length; i++)
        {
            if(L->data[i]<L->data[i-1])
            {
                com = L->data[i];
                for( j= i; com < L->data[j-1] ; j--)
                {
                    L->data[j]=L->data[j-1];
                }
                L->data[j]= com;
            }
        }
    }
    void printContent(SqList *L)
    {
        for(int i = 0; i< L->length; i++)
        {
            printf("%d \t",L->data[i] );
        }
    }
    int main(void)
    {
        SqList l ;
        
        l.data[0] = 9;
        l.data[1] = 1;
        l.data[2] = 5;
        l.data[3] = 8;
        l.data[4] = 3;
        l.data[5] = 7;
        l.data[6] = 4;
        l.data[7] = 6;
        l.data[8] = 2;
        
        l.length = 9;
        printContent(&l);
        printf("\n");
        InsertSort(&l);
        printContent(&l);
        printf("\n");

        return 0;
    }

    There are already one blog about Insert Sort.

    It's complexity : worse : O(n2), but a litte better than select sort and bubble sort.

  • 相关阅读:
    洛咕 P4474 王者之剑
    CF708D Incorrect Flow
    CF802C Heidi and Library (hard)
    CF434D Nanami's Power Plant
    洛咕3312 [SDOI2014]数表
    洛咕 P3704 [SDOI2017]数字表格
    洛咕 P3706 [SDOI2017]硬币游戏
    洛咕 P4491 [HAOI2018]染色
    Luogu4240 毒瘤之神的考验 莫比乌斯反演、根号分治
    UOJ269 清华集训2016 如何优雅地求和 下降幂多项式、NTT
  • 原文地址:https://www.cnblogs.com/no7dw/p/2791808.html
Copyright © 2011-2022 走看看