数组逆序

数组逆序,并不是逆遍历一遍数组,而是要实现原数组元素倒序存放操作
即原数组存储元素为{11,22,33,44},
逆序后为原数组存储元素变为{44,33,22,11}。

解决思路

java数组逆序存放 java数组逆序排序_排序算法

  • 想完成数组元素逆序,其实就是把数组中索引为start与end的元素进行互换
  • 每次互换后,start索引位置后移,end索引位置前移,再进行互换
  • 直到start位置超越了end位置,互换结束,此时,数组元素逆序完成。

代码如下(包括逆序方法和遍历方法)

public class ArrayMethod {
    public static void main(String[] args){
        int[] arr = {11,22,33,44,55};
        reverse(arr);//调用逆序方法
        printArray(arr);//调用遍历方法
    }
    public static void reverse(int[] array) {
        //利用循环,实现数组遍历,遍历过程中,最远端换位
        //for的第一项,定义2个变量, 最后,两个变量++ --
        for( int min = 0 , max = array.length-1 ; min < max  ; min++,max--){
            //对数组中的元素,进行位置交换
            //min索引和max索引的元素交换
            //定义变量,保存min索引
            int temp = array[min];
            //max索引上的元素,赋值给min索引
            array[min] =  array[max];
            //临时变量,保存的数据,赋值到max索引上
            array[max] = temp;
        }
    }
    //定义方法,实现数组的遍历
    public static void printArray(int[] array){
        //输出一半中括号,不要换行打印
        System.out.print("[");
        //数组进行遍历
        for (int i=0;i<array.length;i++){
            //判断遍历到的元素,是不是数组的最后一个元素
            if(i == array.length-1){
                //输出数组的元素和]
                System.out.println(array[i]+"]");
            }
            else {
                //不是数组的最后一个元素,输出数组元素和逗号
                System.out.print(array[i]+",");
            }
        }
    }
}