插入排序是一种简单直观的排序算法。他的工作原理是通过构建有序序列,对未排序数据,在已排序序列中从后往前扫描,找到相应位置插入
def insertionSort(arr):
for i in range(1,len(arr)):
# 取出每一次需要对比的值
key = arr[i]
# 每次对比数值下标的位置
j = i-1
# 取得的值,需要符合 对下下标大于0&值小于序列的前一位
while j >= 0 and key < arr[j]:
# 符合条件把对比得值放在,现在序列位置得后一位
arr[j+1] = arr[j]
# -1 位置下标循环。直至全部对比完成
j -= 1
# 否则,取得得值放在最后一次对比值得后一位
arr[j+1] = key
arr = [12,23,11,3,40,9,11]
insertionSort(arr)
print("排列后的数组:",arr)
for i in range(len(arr)):
print ("%d" %arr[i])