插入排序的思想是:每次取一个列表元素与列表中已经排好序的列表段进行比较,然后插入到合适的位置,从而得到新的排好序的列表段。
python代码:
#插入排序
def Insertion_Sort(unsorted_list):
#待排序列表的长度
length=len(unsorted_list)
#从头开始排序
for i in range(1,length):
#当前值的前一个值
j=i-1
#如果当前的值小于前一个值
if unsorted_list[i]<unsorted_list[j]:
#则将当前的值暂时储存
temp=unsorted_list[i]
#如果前一个值的索引大于等于0,且前一个值大于当前值,则循环进行
while j>=0 and unsorted_list[j]>temp:
#将前一个值放置在当前值的位置上
unsorted_list[j+1]=unsorted_list[j]
#往前判断
j=j-1
#最后将被暂时储存的值放置在合适的位置上
unsorted_list[j+1]=temp