核心思想,右边第一个数放入左边合适位置,怎么放在合适位置?这个数,我们称它为target,与左边从左至右第一个数对比,如果target小于从左至右的第一位,就把target放在这个位置,后面的数向右推,使用list切片幅值满足这个过程。
def insertsort(list):
if len(list)<=1: return list
for right in range(1,len(list)):
target=list[right]
for left in range(0,right):
if target<=list[left]:
list[left+1:right+1]=list[left:right]
list[left]=target
break
return list