经典算法之直接插入排序Python实现示例

把待排序的元素插入已经排序的序列中。取第一个元素为有序序列。从剩下的元素中依次取值和相邻的元素作比较,找到合适的位置并插入。直至所有待排序的元素为有序序列。

2、代码实现

#!coding:utf-8
#直接插入排序
#
def inert_sort(lst):
    for i in range(1,len(lst)):
        if lst[i-1]>lst[i]:
            tmp=lst[i]
            seq=i
            while seq>0 and  lst[seq-1]>tmp:
                lst[seq]=lst[seq-1]
                seq-=1
            lst[seq]=tmp
    return lst

if __name__ == "__main__":
    a=inert_sort([1,16,17,28,9,0])
    print(a)

输出如下:

[0, 1, 9, 16, 17, 28]

经典算法之直接插入排序Python实现示例

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/28976c4ed3484a091b54929902ec5905.html