package top.simba1949;
/**
* 选择排序算法——简单选择排序算法
*
* 简单选择排序算法原理
* 1. 首先找到数组中最小的元素
* 2. 其次将最小的元素和数组中第一个元素进行交换
* 3. 再次,在剩下的元素中找到最小元素,将它与数组中第二个元素进行交换。如此反复,直到将整个数组排序。
*
* @author SIMBA1949
* @date 2019/6/29 7:41
*/
public class SelectSort {
public static void main(String[] args) {
int[] intArr = {1, 9, 90, 20, 30, 66, 34, 55};
selectSortImpl(intArr);
for (int i : intArr) {
System.out.print(i + "\t");
}
}
public static void selectSortImpl(int[] arr){
// 健壮性判断
if (null == arr || arr.length < 2){
return;
}
// 控制范围
for (int minIndex = 0; minIndex < arr.length - 1; minIndex++) {
for (int i = minIndex + 1; i < arr.length; i++){
// 如果 minIndex 位置上的数不是最小的数,数据交换
if (arr[minIndex] > arr[i]){
int temp = arr[minIndex];
arr[minIndex] = arr[i];
arr[i] = temp;
}
}
}
}
}