我是靠谱客的博主 欣慰机器猫,这篇文章主要介绍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实现插入排序内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部