算法流程(从小到大排):
1.首先将第一个数看成一个有序序列,第二到最后一个数看成无序序列;
2.从无序序列中抽到一张手牌,并将其与有序序列比较;
3.将手牌插入到有序序列的合适位置
4.重复2,3步骤
1 def insert_sort(arr): 2 for i in range(len(arr)): 3 current = arr[i] #抽到的 4 sorted_index = i - 1 5 while sorted_index >= 0 and current < arr[sorted_index]: 6 arr[sorted_index+1] = arr[sorted_index] #已排序的序列往后移才有插入的空间 7 sorted_index -= 1 8 arr[sorted_index+1] = current
时间复杂度O(n2)