python 插入排序

插入排序的时间复杂度为O(N^2)

def insertsort(alist):
    length=len(alist)
    for i in range(1,length):
        value=alist[i]
        pos=i
        while value<alist[pos-1]:
            l[pos]=l[pos-1]
            pos=pos-1
        alist[pos]=value

l=[1,3,2,8,5,3,1]
insertsort(l)
print (l)
每次0到i-1都是排序完成的 第一次默认自己跟自己排序完成
然后我们把要排序的第i个位置取出来 将其值名为value 然后将位置为pos
如果前面i-1有比他大的 就交换
posted @ 2018-11-08 11:27  黄溢  阅读(125)  评论(0编辑  收藏  举报