插入排序

Posted 阿森森森

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了插入排序相关的知识,希望对你有一定的参考价值。

#include <iostream>
#include <ctime>
void insert_sort(int a[],int length)

    for(int i=1;i<length;i++)
    
        int key=a[i];
        int j=i-1;
        while(j>=0 && key<a[j] )
        
            a[j+1]=a[j];
            j--;
        
        a[j+1]=key;
    

void inline GetData(int a[],int length)

    for(int i=0;i<length;i++)
        std::cout<<a[i]<<",";



int main(void)

    const int len=20;
    int a[len]=;
    srand((unsigned)time(0));
    for(int n=0;n<len;n++)
        a[n]=rand()%len;
    std::cout<<"before: ";
    GetData(a,len);
    std::cout<<std::endl<<"after: ";
    insert_sort(a,len);
    GetData(a,len);
    return 0;


递归方法:


void insert_sort(int a[],int length)

    if(length>1)
    
        insert_sort(a,length-1);
        int tmp=a[length-1];
        int i=0;
        for(i=length-2;i>=0;--i)
        
            if(tmp<a[i])
                a[i+1]=a[i];
            else
                break;
        
        a[i+1]=tmp;

    



以上是关于插入排序的主要内容,如果未能解决你的问题,请参考以下文章

排序算法 插入排序(直接插入排序半插入排序希尔排序)

直接插入排序 ,折半插入排序 ,简单选择排序, 希尔排序 ,冒泡排序 ,快速排序 ,堆排序 ,归并排序的图示以及代码,十分清楚

算法插入排序——希尔排序+直接插入排序

第三篇,插入排序算法:直接插入排序希尔排序

❤️数据结构入门❤️(4 - 3)- 插入排序

java排序之插入排序(直接插入排序和希尔排序)