手机版
你好,游客 登录 注册
背景:
阅读新闻

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

[日期:2019-04-14] 来源: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

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款