基本思想
从序列的第二个元素开始,将其插入到前面已排序序列中,示意图如下:
Python实现
def straightInsert(a):
# 直接插入排序: 小->大
for i in xrange(1, len(a)):
index = a[i]
j = i - 1
while j >= 0 and a[j] > index:
a[j + 1] = a[j]
j -= 1
a[j + 1] = index
return a
效率
复杂度:O(n^2)