排序算法--python实现插入排序

#coding=utf-8
#插入排序
#该算法的最优时间复杂度为O(n)
#最坏时间复杂度为O(n的平方)
#插入排序的算法是具有稳定性的,即碰到相同的数据时时不需要交换数据的
def insert_sort(alist):
    n=len(alist)
    for j in range(1,n):
      i=j
      #j=[1,2,3,4,n-1]
      #执行从右边的无序列表中去除第一个元素,即i位置的元素,然后将其插入到正确的位置中
      while i>0:
          if alist[i]<alist[i-1]:
             alist[i],alist[i-1]=alist[i-1],alist[i]
             i-=1
          else:
              break
if __name__=="__main__":
    li = [17, 20, 93, 54, 77, 31, 44, 55, 226]
    print(li)
    insert_sort(li)
    print(li)

猜你喜欢

转载自blog.csdn.net/liuxiaobao666/article/details/114713528
今日推荐