选择式排序也属于内部排序法,是从欲排序的数据中,按指定的规则选出某一元素,再依规定交换位置后达到排序的目的。


代码实现

package com.hblg.sort;

import java.util.Arrays;

/**
* @author i
* @create 2019/9/29 19:32
* @Description 选择排序
*/
public class SelectSort {

public static void main(String[] args) {
int[] array = {1, 3, 100, 10, 23};
System.out.println("排序前:" + Arrays.toString(array));
selectSort(array);
System.out.println("排序后:" + Arrays.toString(array));
}

/***
* 选择排序的思路
* 1, 3, 100, 10, 23
*
* @param array
*/
public static void selectSort(int array[]) {
for (int i = 0; i < array.length - 1; i++) {
int minIndex = i;
int minValue = array[minIndex];
for (int j = i+1; j < array.length ; j++) {
if (minValue > array[j]) {
minValue = array[j];
minIndex = j;
}
}
//判断是否有最小值
if(minIndex!=0){
array[minIndex] = array[i];
array[i] = minValue;
}
}
}

}