/*在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换;
然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,
直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止。
然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,
直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止。
*/
import java.util.*;
class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.print("Input n : ");
int n=sc.nextInt();
int[] a=new int[n];
for(int i=0;i<n;i++){
a[i]=sc.nextInt();
}
selectionSort(a);
print(a);
}
public static void selectionSort(int[] a){
for(int i=0;i<a.length-1;i++){
int minIndex=i;
for(int j=i+1;j<a.length;j++){
if(a[j]<a[minIndex]){
minIndex=j;
}
}
if(minIndex!=i){
int temp=a[i];
a[i]=a[minIndex];
a[minIndex]=temp;
}/*
if(minIndex!=i&&a[i]!=a[minIndex]){
a[i]=a[i]^a[minIndex];
a[j]=a[i]^a[minIndex];
a[i]=a[i]^a[minIndex];
}
*/
}
}
public static void print(int[] a){
for(int i=0;i<a.length-1;i++){
System.out.print(a[i]+" ");
}
System.out.println(a[a.length-1]);
}
}