/**
* 简单选择排序
* 原理参考:http://blog.csdn.net/hulifangjiayou/article/details/47321309
* 每次找到当前及之后位置中最小的数存在哨兵a[min]中,一轮最多只进行一次交换。
/
import java.util.*;
public class Main {
public static void sort(int[] a){
int min = 0;
for(int i = 0; i < a.length - 1; i++) {
min = i;
for(int j = i + 1; j < a.length; j++) {
if(a[min] > a[j]){
min = j;
}
}
if(min != i) {
int temp = a[min];
a[min] = a[i];
a[i] = temp;
}
System.out.println(Arrays.toString(a)); // 输出每一轮排序后的数组
}
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入数组元素的个数n: ");
int n = input.nextInt();
int[] a = new int[n];
for(int i = 0; i < n; i++) {
a[i] = input.nextInt();
}
sort(a);
}
}