1、打开Python开发工具IDLE,新建‘插入.py’并写代码如下:#插入def charu(list1): n = len(list1) for i in range(1,0,-1): if list1[i]<list1[i-1]: list1[i],list1[i-1]=list1[i-1],list1[i]if __name__=='__main__': list1 = [2,1,9,0] charu(list1) print (list1)

3、继续编写代码,套一个外层循环,目的是取数,内层循环负责比较,代码如下:#插入de酆璁冻嘌f charu(list1): n = len(list1) for j in range(n-1): for i in range(j+1,0,-1): if list1[i]<list1[i-1]: list1[i],list1[i-1]=list1[i-1],list1[i]if __name__=='__main__': list1 = [2,1,9,0] charu(list1) print (list1)

5、优化一下插入函数,因为默认是已经排好序的列表,当后面的值大于前面的值,那就一定大于前面所有值。内层循环提前结束,代码如下:#插入def charu(list1): n = len(list1) for j in range(n-1): for i in range(j+1,0,-1): if list1[i]<list1[i-1]: list1[i],list1[i-1]=list1[i-1],list1[i] else: breakif __name__=='__main__': list1 = [2,1,9,0] charu(list1) print (list1)
