C语言_排序算法_插入排序

插入排序法

  • 基本原理
    从第二个数开始,对每个数从后往前依次与它之前的数进行比较,以此来找到它应该插入的位置,找到位置之后,对所有元素后移一位,然后将它插入到它应该所在的位置,循环后完成排序。

具体代码如下:

//直接插入排序(从小到大)
#include<stdio.h>
int main()
{
    
    
    int a[10]= {
    
    3,8,7,0,9,2,1,6,5,4};
    int i,j,temp;
    for(i=1; i<10; i++)
    {
    
    
        temp=a[i];  
        for(j=i-1; j>=0&&temp<a[j]; j--)//从后往前依次比较寻找插入位置 
            a[j+1]=a[j];//所有元素后移一位 
        a[j+1]=temp; //插入元素//为什么是j+1?因为在循环中减了个1,所以这里+1才是真正要插入的位置 
    } 
    for(i=0; i<10; i++)
        printf("%d ",a[i]);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_51366851/article/details/112988709
今日推荐