这是一个使用python实现的简单插入排序,里面有详细的算法步骤
算法:
将一个列表里面的数字从第二个数字开始将其与前面的数字进行比较,将其放到合适的位置。再将后一个数字与前面排列好的数字逐一比较,将其放入到前面数字的合适位置上。将剩下的数字逐一与前面的排列好的数字作比较,将该数字放到正确的位置,得到一个按数字大小排列的列表。
代码:
def insert_sort(ls):
##从列表第二个数字开始比较
for i in range(1,len(ls)):
##如果该数字比前一个数字大则跳到下一个数字
if ls[i] >= ls[i-1]:
continue
###将该数字与前面的数字逐已比较,当被比较数字
###比该数字大的时候,将被比较数字的数值赋值给
###后一个位置
else:
tem = ls[i]
j = i - 1
while j >= 0 and ls[j] > tem:
ls[j+1] = ls[j]
j -= 1
###当找到一个数字比该数字小的时候,将该数字赋
###值给比其小的数字的后面
ls[j+1] = tem
return ls