一图胜千言,插入排序的核心逻辑如下:

  • 将数据分成两半,前一半是已排好序的,后一半是待排序的
  • 每次取后一半中的第一个数,在已排序的一半中,逆序依次比较,找到要插入的位置
  • 记录插入的位置,在最后判断是否需要插入即可

进阶:python3实现 插入排序

实现代码:


def insertionSort(a:list):
    for i in range(1,len(a)):
        value = a[i]
        insert_index = -1

        for j in range(i-1,-1,-1):
            if  value< a[j]:
                a[j+1] = a[j]
                insert_index = j
            else:
                break
        if insert_index !=-1:
            a[insert_index] = value
    
    return a

思考:

为什么插入排序比冒泡排序更常用

关键在于赋值操作,冒泡排序需要3次,而插入排序只需要1次

相关文章:

  • 2021-09-18
  • 2021-08-26
  • 2021-12-25
  • 2022-03-09
  • 2021-10-25
  • 2021-10-20
猜你喜欢
  • 2022-01-12
  • 2021-10-14
  • 2022-12-23
  • 2021-08-18
  • 2021-08-08
  • 2021-06-19
  • 2022-01-06
相关资源
相似解决方案