python---用python实现插入排序

代码:

li = [9,1,44,23,123,77,312,323,53]
def sort_list(list):
    for i in range(1,len(list)):
        tmp = list[i]
        j = i- 1
        while j >= 0 and list[j] > tmp:
            list[j+1] = list[j]
            j -= 1
        list[j+1] = tmp
    print(list)
sort_list(li)

返回结果:

[1, 9, 23, 44, 53, 77, 123, 312, 323]

一开始没搞懂,打了断点后才搞明白

i = 1 tmp = 1----j = 0----满足条件----将list[0]对应的数(9)赋值给了,list[1]对应的数(1)----得到

[9,9,44,23,123,77,312,323,53]----j = -1----将1赋值给了list[-1+1](1)---按照此循环下去即可。

猜你喜欢

转载自blog.csdn.net/Mojitoice/article/details/98677077