python3.5
最优时间复杂度:n
最坏时间复杂度:n²
稳定性:稳定
1.插入排序思想:
将一个数组,把第一个元素当做一个有序数组,后面的数组当做无序数组,从第二个元素开始,与第一个元素进行比较,若小于第一个元素,则交换位置,从有序数组的右往左比较,遇到小于的就进行交换.
2.python代码实现
def insert_sort(alist):
# 从第二个位置下标为1的位置开始插入
for i in range(1,len(alist)):
for j in range(i,0,-1):
if alist[j]<alist[j-1]:
alist[j],alist[j-1]=alist[j-1],alist[j]
return alist
if __name__=='__main__':
li = [17, 20, 31, 26, 44, 54, 55, 77, 93]
value=insert_sort(li)
print(value)