简单选择排序,就是在每一次循环中选出最小值(相比较而言),然后将这个最小值,与参与比较的所有元素中,索引值最小的位置相互调换
1 package com.berry.algorithm.sort;
2
3 /**
4 * Created by berry-h on 17-1-16.
5 */
6 public class SimpleSelectionSort implements Sort{
7
8 /**
9 *
10 * @param array
11 * 简单选择排序,就是在每一次循环中选出最小值(相比较而言),然后将这个最小值,
12 * 与参与比较的所有元素中,索引值最小的位置相互调换
13 */
14 @Override
15 public void sort(int[] array) {
16
17 //外循环
18 for(int i = 0;i < array.length;i++){
19 //设参与比较的第一个元素对应的值为最小值元素
20 int min = i;
21 //内循环
22 for(int j = i + 1;j < array.length;j++){
23 //当第j个元素值小于设定的最小值时
24 if(array[min] > array[j]){
25 //更新最小值对应的索引
26 min = j;
27 }
28 }
29
30 //当筛选出来的索引值不是与开始循环时设定的索引值不相等时
31 if(i != min){
32 //开始调换
33 int temp = array[i];
34 array[i] = array[min];
35 array[min] = temp;
36 }
37 }
38
39 }
40 }