经典算法之直接插入排序Python实现示例
2019/04/14 19:44:29 来源:Linux社区 作者:webDepOfQWS

1、算法思想

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

2、代码实现

#!coding:utf-8
#直接插入排序
#www.linuxidc.com
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实现示例

更多Python相关信息见Python 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=17

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2019-04/158102.htm


6

本栏最新