【算法】插入排序
插入排序
文字解释
依次使数列从2到最后位置有序
因为第一个数一定是有序的 所以从第二位开始 使前面到当前位置的数据有序
如:[[[[[[1, 2], 3], 4], 5], 6], 7]
第一次排序 1, 2
第二次排序 1, 2, 3
第三次排序 1, 2, 3, 4
...
第n次排序 1, 2, 3, ..., n
代码
def func(arr):
    # 从索引为1 既数组第二位开始
    for i in range(1, len(arr)):
        # 从当前索引 依次与前面的数据进行 比较 若条件成立 则互换 最终使该部分数组有序
        for j in range(i, 0, -1):
            if arr[j] < arr[j-1]:
                # python中的一种数据互换的方法
                arr[j], arr[j-1] = arr[j-1], arr[j]
    print(arr)
arr = [1, 2, 1, 4, 5, 7, 8, 12, 42, 21, 1, 55, 24]
func(arr)
 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号