def selection_sort(A, n):
for i in range(0,n-1):
# 最小値を探す
for j in range(i+1,n):
if A[j] < A[min_index] :
min_index = j
# A[i] と A[min_index]を交換
A[i], A[min_index] = A[min_index],A[i]
# A[0] ~ A[i] が整列済みになった
print(*A)
n = int(input())
A = list(map(int,input().split()))
selection_sort(A,n)
1)最初のループでrangeがn-1,つまりn-2までになっているのは、最初の2個を比較するため。
2)1番目の数になっているiの要素と、それ以降、つまりi+1〜n-1(nからiをひいたもの)の中でループしている要素を比較し、最小のものを探す。
3)そしてA[i]とA[min_index]を交換する
4)この繰り返しで最終的にソートされる。