十大排序算法之插入排序3

插入排序的思想特别简单,就是选择依次判断当前位置的数与前面位置的数的大小,如果当前位置的数比它大,那么将前面的数向后移一位,如果之前位置的数比它小,则将它插入之前位置的后一个位置。

代码如下:

def insertion_sort(a):
    l = len(a)
    for j in range(1,l):
        key = a[j]
        i = j - 1
        while i >=0 and a[i] > key:
            a[i+1] = a[i]
            i -= 1
        a[i+1] = key
    return a

if __name__=='__main__':
    a = [1,5,9,8,3,2]
    print (insertion_sort(a))

 

你可能感兴趣的:(十大排序算法之插入排序3)