插入排序

插入排序是一种比较简单的排序算法,先定义一个有序队列,然后把无需队列里的第一个元素放到有序队列的合适的位置(就是讲元素放进去以后有序队列必须还是有序的),重复操作知道所有元素都 添加到有序队列中。

插入排序的最优时间复杂度为O(n),最坏时间复杂度为O(n**2)

def insertsort(alist):
    n=len(alist)
    if n<=1:
        return alist
    for i in range(n-1):
        for j in range(i,0,-1):
            if alist[j]<alist[j-1]:
                alist[j],alist[j-1]=alist[j-1],alist[j]
    return alist
if __name__ == '__main__':
    alist=[2,3,6,1,6,11,431,10,0]
    print(insertsort(alist))

 

 
posted @ 2019-01-06 18:05  名字到底要多长  阅读(109)  评论(0编辑  收藏  举报