排序_简单选择排序

/**
* 简单选择排序
* 原理参考: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); } }

 

posted @ 2017-04-27 16:35  55329  阅读(120)  评论(0编辑  收藏  举报