数据结构之python实现插入算法insert sort

"""
插入排序思想: 第一个数字保持不变后面取数值,依次插入
"""

def insert_sort(alist):
    """插入排序"""
    n = len(alist)

    # 从右边的无序序列中取出多少个元素执行这样的过程
    for j in range(n):
        # j = [1,2,3,n-1]
        # i 代表内层循环起始值
        i = j
        """执行从右边的无序序列中取出第一个元素,既i位置的元素,然后将其插入到前面正确的位置中"""
        while i > 0:
            if alist[i] < alist[i - 1]:
                alist[i], alist[i - 1] = alist[i - 1], alist[i]
                i -= 1
            else:
                break



if __name__ == '__main__':
    li = [54, 65, 23, 46, 76, 45, 92, 14]
    print(li)
    insert_sort(li)
    print(li)

你可能感兴趣的:(算法)