插入排序
排序思路
- 1、初始时手里(有序区)只有一张牌。
- 2、每次从剩余(无序区)中摸一张牌,插入到手里已有牌的正确位置。
实现
def insert_sort(li):
for i in range(1,len(li)):
tmp =li[i]
j =i-1
while j>=0 and li[j] > tmp:
li[j+1]=li[j]
j -= 1
li[j+1] =tmp
print(li)
li=[3,4,2,1,5,7,8,6,9]
print(li)
insert_sort(li)
[3, 4, 2, 1, 5, 7, 8, 6, 9]
[3, 4, 2, 1, 5, 7, 8, 6, 9]
[2, 3, 4, 1, 5, 7, 8, 6, 9]
[1, 2, 3, 4, 5, 7, 8, 6, 9]
[1, 2, 3, 4, 5, 7, 8, 6, 9]
[1, 2, 3, 4, 5, 7, 8, 6, 9]
[1, 2, 3, 4, 5, 7, 8, 6, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]