https://www.cnblogs.com/yeni/p/11162337.html
# -*- coding: utf-8 -*- # @Time : 2020/4/25 18:04 # @File : insert_sort.py # @Author: Hero Liu # 插入排序 def insertionSort(a): for i in range(1, len(a)): # value是待排序元素 value = a[i] insert_index = -1 for j in range(i-1, -1, -1): if value < a[j]: # 如果待排序元素小于已排序元素j,那么已排序元素j就要后移一位 # 表现则是已排序元素j的索引加1 # 待排序元素的索引变成j # 待排序元素和所有已排序元素比较完一轮后,已排序元素索引该增加的都增加了 # 同时得到一个最终的插入索引j a[j+1] = a[j] insert_index = j # print(a) if insert_index != -1: # 把待排序元素赋值到最新得到的插入索引 a[insert_index] = value return a a = [4, 5, 6, 1, 3, 2] print(insertionSort(a))