插入排序-直接插入排序
基本思路
- 假定第一个元素为已排列元素
- 取出下个元素i:
- 从后向前扫描已排序元素j:
- 若j大于i,把j后移一个单位;
- 若j小于等于i, 把i插入到j之后;
- 从后向前扫描已排序元素j:
代码实现
def insert_sort(in_list):
if len(in_list) == 1:
return in_list
for i in range(1, len(in_list)):
for j in range(i-1, -1, -1):
if in_list[j] > in_list[j+1]:
in_list[j], in_list[j+1] = in_list[j+1], in_list[j]
return in_list