排序_简单选择排序

时间:2022-11-30 22:07:41
/**
* 简单选择排序
* 原理参考: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);
}
}