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


1、算法思想

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

2、代码实现

#!coding:utf-8
#直接插入排序
#www.linuxboy.net
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.linuxboy.net/topicnews.aspx?tid=17

linuxboy的RSS地址:https://www.linuxboy.net/rssFeed.aspx

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

相关内容