思想,如下图。插入排序思想就是把列表分成两部分,前面是有规则的,后面是无规则的。然后从后面无规则之中取出一个数和前面有规则的比较,如果比前面的大,就放在有规则区的后面。 这样进行下一次比较,这次就要比较前面两个数了, 循环下去。。。
def insert_sort(alist):
n = len(alist)
for j in range(1,n):
i = j
while i>0:
if alist[i] < alist[i-1]:
alist[i], alist[i-1] = alist[i-1], alist[i]
else:
break
i-=1
if __name__ == '__main__':
alist = [3,2,4,5,55,33,223,1,31]
insert_sort(alist)
print(alist)