#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)
排序算法--python实现插入排序
猜你喜欢
转载自blog.csdn.net/liuxiaobao666/article/details/114713528
今日推荐
周排行