黑马程序员技术交流社区

标题: 一个int类型的数组为{6,2,9,15,1,5,20,7,18}最大元素与最后一位... [打印本页]

作者: liyansong2016    时间: 2016-6-7 22:16
标题: 一个int类型的数组为{6,2,9,15,1,5,20,7,18}最大元素与最后一位...
class Test18 {
        public static void main(String[] args){
                int[] arr = {6,2,9,15,1,5,20,7,18};
                /*
                思路:创建两个方法获取最值得角标,再创建元素交换的方法,,最后输出数组
                */
                printArry(arr);
        }

        public static void printArry(int[] arr){
                int maxIndex = getMaxIndex(arr);                        //maxIndex接收最大值角标
                int minIndex = getMinIndex(arr);                        //maxIndex接收最小值角标
                reverseArry(arr,maxIndex,arr.length-1);                //把数组和需要交换的两个数据穿进去
                reverseArry(arr,minIndex,0);                                //把数组和需要交换的两个数据穿进去
                for (int i=0; i<arr.length; i++) {       
                        System.out.print(arr[i]+" ");                        //最后在遍历出来
                }
        }

        public static void reverseArry(int[] arr,int i,int j){                //元素交换反方法
                int temp = 0;
                temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
        }       
       
        public static int getMaxIndex(int[] arr){        //获取最值角标得方法
                int maxIndex = 0;                                                //创建最大值角标变量
                for (int i=0; i<arr.length; i++) {
                        if (arr[maxIndex]<arr[i]) {                        //判断有比最大值大时角标赋值过来
                                maxIndex = i;
                        }
                }
                return maxIndex;
        }
               
        public static int getMinIndex(int[] arr){        //获取最小值角标
                int minIndex = 0;                                                //假设最小值角标为0
                for (int i=0; i<arr.length; i++) {
                        if (arr[minIndex]>arr[i]) {                        //比大小
                                minIndex = i;
                        }
                }
                return minIndex;
        }                                                               

}






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2