直接插入排序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)

你可能感兴趣的:(排序算法)