# -*- 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))