#P005931. 打牌
打牌
题目描述
给定 个互不相同的整数,请按照插入排序的过程将它们从小到大排序,并输出每次插入时数组的变化。
处理第 个整数时,先输出把它放在当前位置后的序列。之后,只要它左边的整数比它大,就将左边的整数向右移动一位,并在每次移动后输出序列。最后将当前整数放入正确位置,再输出序列。
输出内容和空格必须与样例所示格式一致。
输入格式
第一行包含一个整数 。
第二行包含 个互不相同的整数 。
输出格式
对每个 从 到 ,依次输出:
- 一行
Insert element[i]:; - 一行以两个空格开头的
Init:,后接当前的前 个整数; - 每移动一次整数,输出一行以两个空格开头的
Move back:,后接移动后的前 个整数; - 一行以两个空格开头的
Final:,后接本次插入完成后的前 个整数。
标签后的第一个整数前不加空格,相邻整数之间用一个空格分隔。
3
3 1 2
Insert element[1]:
Init:3
Final:3
Insert element[2]:
Init:3 1
Move back:3 3
Final:1 3
Insert element[3]:
Init:1 3 2
Move back:1 3 3
Final:1 2 3
数据范围与提示
- 在
int范围内 - 所有 互不相同