编辑代码

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]);

*/