插入排序是从第二个开始,先拿出来,再和左边的比较,
如5,8,2,6,7,
8和5比,5比8小,不动;结果:5,8,2,6,7
然后,用2和左边的数字比较:
2和8比,8比2大,8后移一位;结果:5,2,8,6,7
2和5比,5比2大,5后移一位;结果:2,5,8,6,7
接下来是6:
6和8比,8比6大,8后移一位;2,5,6,8,7
6和5比,5比6小,不动;2,5,6,8,7
6和2比,2比6小,不动;结果:2,5,6,8,7
以此类推,代码如下:
def insertSorted(list):
for i in range(1,len(list)):
temp = list[i]
flag = False
for j in range(i-1,-1,-1):
if list[j]>temp:
list[j+1] = list[j]
else:
list[j+1] = temp
flag = True
break
if not flag:
list[0] = temp
a = [5,8,2,6,7]
insertSorted(a)
print(a)
656

被折叠的 条评论
为什么被折叠?



