我们先用一个列表,把小动物的编号存起来,就像把它们召集到一起:# 准备小动物的编号(无序队伍)
animals = [7, 11, 3, 2, 5]print("排序前的队伍(乱哄哄):", animals)
这是最核心的部分,我们用循环实现“逐个插入、对比站位”的逻辑,我会给每一行代码加上注释,小朋友们一看就懂!# 插入排序魔法开始啦# 从第2个元素开始(索引1),因为第1个元素(索引0)已经是已排序区域for i in range(1, len(animals)): # 取出当前要插入的小动物(未排序区域的第一个) current = animals[i] # 找到已排序区域的最后一个元素的索引(一开始是0,也就是7的位置) j = i - 1 # 让当前小动物和已排序区域的元素逐个对比,找到自己的位置 # 条件:j >= 0(没比到最前面) and 当前小动物编号 < 已排序区域的元素编号 while j >= 0 and current < animals[j]: # 如果当前小动物更小,就让已排序区域的这个元素往后挪一位(给它腾位置) animals[j + 1] = animals[j] # 继续和前一个元素对比 j -= 1 # 找到位置啦!把当前小动物插进去 animals[j +1] =current
魔法施展完,我们打印一下排好队的队伍,看看是不是成功了:# 打印排好队的队伍print("排序后的队伍(整整齐齐):", animals)
# 少儿Python编程 - 插入排序:帮小动物排队# 模块1:准备无序队伍animals = [7, 11, 3, 2, 5]print("排序前的队伍(乱哄哄):", animals)# 模块2:插入排序核心逻辑for i in range(1, len(animals)): current = animals[i] # 取出当前要插入的元素 j = i - 1 # 已排序区域的最后一个元素索引 # 对比并移动元素,腾出位置 while j >= 0 and current < animals[j]: animals[j + 1] = animals[j] j -= 1 animals[j +1] =current # 插入当前元素# 模块3:展示排序结果print("排序后的队伍(整整齐齐):", animals)
排序前的队伍(乱哄哄): [7, 11, 3, 2, 5]排序后的队伍(整整齐齐): [2, 3, 5, 7, 11]
哇!成功啦🎉!小动物们按照编号从小到大,整整齐齐地排好队了,小兔老师开心地说:“太感谢你啦,编程小达人!我们可以顺利参加运动会啦~”