直接插入排序python实现

直接插入排序python实现

算法思想

直接插入排序的算法思想在于:每一步将一个待排序的数字,插入到前面已经排好序的有序序列中去;重复上述插入数字操作,直到插完所有元素为止,此时序列已经全部排列完毕。
将直接插入排序进行推广,可以得到希尔排序,它相比起直接插入排序的好处在于在每一轮排序的时候设置间隔gap,利用gap分成若干个子序列,在每个字序列中使用直接插入排序;这个间隔gap逐渐减小,直到这个gap=1的时候完成排序。相比之下,显然后者的排序效率更高。

python实现

a = [-852,75,95,2,-233,56,12,-49,91,-86]
b = len(a)
for i in range(1,b):
    temp=a[i]
    j=i-1
    while j >= 0 and a[j] < temp:
        a[j+1],a[j]=a[j],a[j+1]
        j-=1
    temp=a[j+1]
print(a)
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值