一、插入排序原理
学习插入排序时,查阅不少前辈的博文比如此文。再此也记录一下自己对插入排序的理解:将待排元素插入进已有序列中。已排序列在变长,待排序列在缩小。插入是这样步骤,取出一个数,与前面一个数比较,该数较小,那就将前面数往后挪一个位置。继续往前找,直至比前一个数大或者到达已排好的列开始为止,将取出的数放入。再取出一个数按前操作,直到所有待排数据全部插入为止。
二、编码
#!usr/bin/python3
def InsertSort_2(listArr):
length = len(listArr)
for i in range(1, length) :
ind = i
curr = listArr[i]
while ind > 0 and curr < listArr[ind - 1]:
listArr[ind] = listArr[ind-1]
ind -= 1
arr[ind] = curr;
if __name__ == "__main__":
arr = [12, 7, 89, 100 ,67, 56, 37, 45, 77, 99, 23]
InsertSort_2(arr)
print(arr)
三、结果