插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。

在这里插入图片描述
在这里插入图片描述

def insert_sort(alist):

    # 控制轮数
    for j in range(1, len(alist)):

        # 找到合适的位置放置无序数据
        # [j,j-1,j-2,....-1]
        # j j-1 比较
        # j-1  j-2 比较
        # 1 0 比较
        for i in range(j, 0, -1):

            if alist[i] < alist[i-1]:
                alist[i], alist[i-1] = alist[i-1], alist[i]
            else:
                break


if __name__ == '__main__':
    alist = [1, 99, 56, 74, 6, 3, 0]
    insert_sort(alist)
    print(alist)
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐