"""
插入排序
"""
def insert_sort(item):
n = len(item)
for i in range(1,n):
while i>0:
if item[i] < item[i-1]:
item[i],item[i-1] = item[i-1],item[i]
i -= 1
if __name__ == "__main__":
list = [12,35,62,20,35,94,78,56,24,11,38]
print(list)
list_1 = insert_sort(list)
print(list)
任意列表时间复杂度为o(n*2),进行优化,当为有序列表时,时间复杂度为o(n),利用插入法前面部分已排序好的特性。
def insert_sort(item):
n = len(item)
for i in range(1,n):
while i>0:
if item[i] < item[i-1]:
item[i],item[i-1] = item[i-1],item[i]
i -= 1
else:
break
if __name__ == "__main__":
list = [12,35,62,20,35,94,78,56,24,11,38]
print(list)
list_1 = insert_sort(list)
print(list)