python实现插入排序

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))
原文地址:https://www.cnblogs.com/come202011/p/12774429.html