我是靠谱客的博主 欣慰机器猫,最近开发中收集的这篇文章主要介绍Python实现插入排序,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

算法思想:给定一个数组l,第一次比较索引0-0上位置的数,第二次比较索引0-1上位置的数,第二次相对第一次,只有索引1是新的数,将索引1的数依次与之前排好序的数比较,如果小于则交换位置

def insert_sort(l: list):
    n = len(l)
    if n < 2:
        return l
    for i in range(n):
        index = i
        while index - 1 >= 0 and l[index - 1] > l[index]:
            """
            第一轮循环:index=0,index-1不满足,不走while
            第二轮循环,index=1,满足走while,比较列表索引0和索引1上的值,如果索引1值小于索引0,则交换变量
            index-=1,跳出while
            第三轮循环,同上
            """
            l[index], l[index - 1] = l[index - 1], l[index]
            index -= 1
    return l


if __name__ == '__main__':
    l = [7, 3, 5, 2, 5, 3, 6, 10]
    # [2, 3, 3, 5, 5, 6, 7, 10]
    print(insert_sort(l))

最后

以上就是欣慰机器猫为你收集整理的Python实现插入排序的全部内容,希望文章能够帮你解决Python实现插入排序所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部