基本思想:在要排序的一组数中,选出最小的一个数与第一个位置的数交换;然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止
// 选择排序
public static void selectSort(int[] arr, boolean reverse) {
if (arr == null || arr.length <= 1) {
return;
}
for (int i = 0; i < arr.length; i++) {
int tag = i;
for (int j = i + 1; j < arr.length; j++) {
if (reverse) {
if (arr[j] < arr[tag]) {
tag = j;
}
} else {
if (arr[j] > arr[tag]) {
tag = j;
}
}
}
int temp = arr[i];
arr[i] = arr[tag];
arr[tag] = temp;
}
}