#Q1019. 选择排序
选择排序
题目背景
排序是算法的一大门类,其中包含:选择排序、冒泡排序、插入排序、快速排序、堆排序、桶排序等等。
我们首先来实现选择排序。
题目描述
选择排序
输入要求
输入包含两行。
第一行输入一个正整数,表示即将要输入个数;
第二行输入个数,每两个数用一个空格隔开。
输出要求
输出行,每一行输出选择排序(从小到大)每一轮的排序结果,每两个数用一个空格隔开。
样例
5
1 3 2 5 4
1 3 2 5 4
1 2 3 5 4
1 2 3 5 4
1 2 3 4 5
1 2 3 4 5
解释
样例
1 3 2 4 5
1 2 3 5 4
1 2 3 5 4
1 2 3 4 5
1 2 3 4 5
说明
选择排序每一轮都会选出目前待排序区域最值放置在合适的位置,我们从小到大选择排序的话,每一轮会选出最小值。
第一轮:经过比较,最小值是1,但是1已放置在最小的位置上,不需要数据交换;
第二轮:经过比较,最小值是2,此时2不在合适的位置上,所以需要数据交换;
第三轮:经过比较,最小值是3,本身3不在合适的位置上,但是经过第二轮,被交换到了合适的位置,所以不需要数据交换;
第四轮:类似第二轮;
第五轮:类似第三轮。
代码输入格式建议
'''
假设数据是:
5
1 3 2 5 4
'''
n = int(input())
lst = [int(x) for x in input().split()]
# 编写你的代码