插入排序是一种简单直观的排序算法,其工作原理类似于打牌时整理手牌的过程:每次从待排序序列中取出一个元素,将其插入到已排序序列中的正确位置,使得已排序序列始终保持有序。
给定一个包含 n 个整数的数组,请模拟插入排序的完整过程,并按照指定格式输出每一步的序列状态。
算法步骤(以数组 3 1 5 4 2 为例)
- 初始已排序序列为空。
- 第 1 个元素
3:直接放入,序列变为3。 - 第 2 个元素
1:将1与已排序序列3比较,3 > 1,将3后移一位,序列变为3 3,然后将1放入空位,得到1 3。 - 第 3 个元素
5:5大于3,无需移动,直接追加,得到1 3 5。 - 第 4 个元素
4:从后往前比较,5 > 4,将5后移,序列变为1 3 5 5;然后3 <= 4,停止,将4放入空位,得到1 3 4 5。 - 第 5 个元素
2:依次将5, 4, 3后移,最后将2插入,得到1 2 3 4 5。
你需要输出每一步的序列变化,格式详见下文。