怎样交换数组元素的位置

如题所述

/**
 * 需求:
 *    1、定义一个int类型的一维数组,内容为{6,2,9,15,1,5,20,7,18}。
 *    2、将数组最大元素与最后一位元素进行交换,最小元素与第一位元素进行交换,并打印数组。
 */
public class ExChange {
 
    public static void main(String[] args) {
        int[] arr = {6,2,9,15,1,5,20,7,18};
        int max = arr[0];//假设第一位元素为最大值
        int min = arr[0];//假设第一位元素为最小值
        for(int i=0;i<arr.length;i++){
            if(arr[i]>max){
                max = arr[i];//找出最小值
            }
            if(arr[i]<min){
                min = arr[i];//找出最小值
            }
        }
        for(int i=0;i<arr.length;i++){
            if(max==arr[i]){//找出最大值所在位置,然后与最后一位元素交换
                int temp = arr[arr.length-1];
                arr[arr.length-1] = arr[i];
                arr[i] = temp;
            }
            if(min==arr[i]){//找出最小值所在位置,然后与第一位元素交换
                int temp = arr[0];
                arr[0] = arr[i];
                arr[i] = temp;
            }
        }
        for(int i=0;i<arr.length;i++){
            System.out.print(arr[i]+" ");//打印结果
        }
    }
 
}
温馨提示:答案为网友推荐,仅供参考