插入排序是一种稳定的排序方式,最好O(n),最坏、平均O(n2),空间复杂度O(1)
def insert_sort(lists):
lens = len(lists)
for i in range(1,lens):
key = lists[i]
j = i-1
while j>=0:
if lists[j]>key:
lists[j+1] = lists[j]
lists[j] = key
j -= 1
else:
break
return lists
if __name__ == '__main__':
lists = [3, 4, 2, 8, 9, 5, 1]
print('排序前序列为:',end='')
for i in lists:
print(i,end=' ')
print('\n排序后结果为:',end='')
for i in insert_sort(lists):
print(i,end=' ')