选择排序
public static void main(String[] args) {
int[] array = new int[]{10,0,-3,100,20,11,-9};
selectSortDesc(array);
selectSortAsc(array);
}
/**
* 选择排序 降序
* @param array
*/
public static void selectSortDesc(int[] array){
for (int i = 0; i < array.length; i++) {
int maxIndex = i;
int maxValue = array[i];
for (int j = i + 1; j < array.length; j++) {
if (maxValue < array[j]) {
maxValue = array[j];
maxIndex = j;
}
}
if (maxIndex != i) {
array[maxIndex] = array[i];
array[i] = maxValue;
}
}
System.out.println(Arrays.toString(array));
}
/**
* 选择排序 升序
* @param array
*/
public static void selectSortAsc(int[] array){
for (int i = 0;i < array.length; i++) {
int minIndex = i;
int minValue = array[i];
for (int k = i + 1; k < array.length; k++) {
if (minValue > array[k]) {
minValue = array[k];
minIndex = k;
}
}
if (minIndex != i) {
array[minIndex] = array[i];
array[i] = minValue;
}
}
System.out.println(Arrays.toString(array));
}
}