插入排序¶
由于其内层循环非常紧凑,对于小规模的输入,插入排序是一种非常快的原址排序算法
注: 如果输入数组中仅有常数个元素需要在排序过程中存储在数组外,则称这种排序算法是原址的。
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
def insertSort(seq):
for j in range(1, len(seq)):
key = seq[j]
# insert arrays[j] into the sorted seq[0...j-1]
i = j - 1
while i >= 0 and seq[i] > key:
seq[i + 1] = seq[i]
i -= 1
seq[i + 1] = key
if __name__ == '__main__':
seq = [5, 2, 4, 6, 1, 3]
insertSort(seq)
print(seq)