插入排序python

插入排序(Insertion Sort),初始 有序区 只有一个数,每次从 无序区 取一个数与 有序区 比较,然后在 有序区 中从后向前扫描,并插入有序区的正确位置。

代码实现

def insert_sort(li):
    for i in range(1, len(li)):  # 遍历无序区
        tmp = li[i]     # 用一个变量存数
        j = i - 1   # 有序区数的下标
        while j >= 0 and li[j] > tmp:   # 若有序区数比无序区数大则往右移
            li[j+1] = li[j]  # 向右移动
            j -= 1  # 往前遍历有序区的数
        li[j+1] = tmp   # 若有序区数不比无序区数大则将其放到 j+1 的位置

 

posted @ 2023-06-08 05:46  天才九少  阅读(161)  评论(0)    收藏  举报