选择排序
/**
* 选择排序
* @param arr
*/
private static void selectSort(int[] arr) {
// 校验
if (arr == null || arr.length < 2){
return;
}
// 选择次数
int n = arr.length;
for (int i = 0; i < n; i++){
// 最小值下标
int minValueIndex = i;
for (int j = i + 1; j < n; j++) {
// 若 i + 1 的值比其小 则交换 最小值下标
minValueIndex = arr[j] < arr[minValueIndex] ? j : minValueIndex;
}
swap(arr,i,minValueIndex);
}
}
/**
* 交互数组值
*/
private static void swap(int[] arr, int i, int j) {
int tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}