def insert_sort(arr): # 检查边界情况没问题
j = 1
while j < len(arr):
tmp = arr[j] # 临时保存
i = j - 1
while i >= 0 and arr[i] > tmp:
arr[i + 1] = arr[i] # 移动
i -= 1
arr[i + 1] = tmp # 插入
j += 1
return arr
# 测试通过
arr = [2, 1, 3, 4, 5, 10, 3, 2, 9]
for i in range(len(arr) + 1):
sorted_arr = insert_sort(arr[:i])
print(sorted_arr)
移动思维
本文深入讲解了插入排序算法的实现原理及步骤,通过具体代码示例展示了如何在Python中实现插入排序,包括对边界情况的处理。同时,通过一系列测试案例验证了算法的正确性。
9083

被折叠的 条评论
为什么被折叠?



