插入排序 【详解】

插入排序
我们先来学习一个数字进行插入排序
1,2,3,4,6,7,8,9,10,5
例如我们将5 插入到进去进行排序,只需要记录下5的下标,

#inculde<stdio.h>
void main()
{
    int a[10]={1,2,3,4,6,7,8,9,10,5};
    int i,j;
    int temp; //用来记录5的下标
    for(i=1;i<10;i++)
    {
        temp=a[9];      //用来存放5的下标 
        while(j>0&&a[j-1]>temp)    //这个判定是用来 判断插入的位置,停止在哪里 循环终止的条件
        {
            a[j]=a[j-1];     // 向前移动
            j--
        }
        a[j]=temp;    //
    
}

***************************************************
下面是乱序的插入排序
#inculde<stdio>
void main()
{
    int temp;
    int a[10]={5,1,4,9,7,5,3,4,2,8};
    int i,j;
    for(i=1;i<10;i++)
    {
        temp=e[i];
        j=i;     //下标
        while(j>0 && a[j-1]>temp)
        {
                a[j]=a[j-1];   //向前移动    
                j--;
        }
        if(j!=i)     // 判断是自己
        {
            e[j]=temp;   //进行交换
        
        }
                    
    }
}

插入排序就完成了。     
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值