#26245. 【模板】选择排序

【模板】选择排序

题目描述

输入一个数字 n n n n 个数字,请你使用选择排序完成从小到大排序的过程。

输入格式

第一行输入一个整数 n n

接下来一行输入 n n 个整数 a1,a2,,an a_1, a_2, \cdots, a_n

输出格式

输出一共输出 n1 n-1 行,分别输出每一次选择排序后的结果。具体可以参考样例解释。

样例 #1

输入 #1

5
2 5 4 1 3

输出 #1

1 5 4 2 3
1 2 4 5 3
1 2 3 5 4
1 2 3 4 5

样例解释 #1

初始 a=[2,5,4,1,3] a = [2, 5, 4, 1, 3]

  • 第一次在 a2a5 a_2 \sim a_5 中最小的为 a4 a_4 ,让它和 a1 a_1 交换,此时序列变为 a=[1,5,4,2,3] a = [1, 5, 4, 2, 3]

  • 第二次在 a3a5 a_3 \sim a_5 中最小的为 a4 a_4 ,让它和 a2 a_2 交换,此时序列变为 a=[1,2,4,5,3] a = [1, 2, 4, 5, 3]

  • 第三次在 a4a5 a_4 \sim a_5 中最小的为 a5 a_5 ,让它和 a3 a_3 交换,此时序列变为 a=[1,2,3,5,4] a = [1, 2, 3, 5, 4]

  • 第四次在 a5a5 a_5 \sim a_5 中最小的为 a5 a_5 ,让它和 a4 a_4 交换,此时序列变为 a=[1,2,3,4,5] a = [1, 2, 3, 4, 5]

可以证明 n n 个元素的序列只需要经过 n1 n-1 轮即可成功排序。

数据范围

1n103 1 \leq n \leq 10^3 1ai103 1 \leq a_i \leq 10^3