直接选择排序,每次循环找出最大值的下标,把最大值交换到对应的位置上。此外,直接选择排序是不稳定排序,冒泡排序是稳定排序。与冒泡排序相比减少了交换次数,降低了稳定性。
int[] array = {5, 1, 2, 4};
int index;
for (int i = 1; i < array.length; i ++) {
index = 0;
for (int j = 0; j <= array.length - i; j++) {
if (array[j] > array[index]) {
index = j;
}
int temp = array[array.length - i];
array[array.length - i] = array[index];
array[index] = temp;
}
}
for(int i: array) {
System.out.println(i);
}