class Main {
public static void main(String[] args) {
int[] arr = {2, 10, 9, 54, 64, 87, 32, 45, 100, 13};
// 选择排序 同时寻找Max和Min
for( int j = 0; j < arr.length/2; j++){
int minPos = j;
int maxPos = arr.length-1-j;
for( int i = j; i < arr.length-j; i++){
// if( arr[i] < arr[minPos] ) minPos = i;
// if( arr[i] > arr[maxPos] ) maxPos = i;
minPos = arr[i] < arr[minPos] ? i : minPos;
maxPos = arr[i] > arr[maxPos] ? i : maxPos;
}
swap(arr, minPos, j);
// if ( maxPos == j ) maxPos = minPos;
maxPos = maxPos == j ? minPos : maxPos;
swap(arr, maxPos, arr.length-1-j);
}
//交换完毕 输出数组
print(arr);
}
//change position
static void swap(int[] arr, int m, int n){
int temp = arr[m];
arr[m] = arr[n];
arr[n] = temp;
}
// print out
static void print(int[] arr){
System.out.println("\n输出数组:");
for( int i = 0; i < arr.length; i++){
System.out.print(arr[i] + " ");
}
System.out.println("\n");
}
}
/*
System.out.println("minP: " + minPos + " " + arr[minPos] + "; maxP:" + maxPos + " " + arr[maxPos]);
System.out.println("minPos: " + minPos + " " + arr[minPos] + "; maxPos:" + maxPos + " " + arr[maxPos]);
System.out.println("MMMMMin: " + arr[j] + "; MMMMMMax:" + arr[arr.length-1-j]);
*/