数组的反转和二维数组

数组的反转

​ 数组的反转:数组中的元素颠倒顺序,例如:原始数组为1,2,3,4,5数组封装之后为5,4,3,2,1

​ 思路:本质是考察交换两个变量的值

  • 实现反转,就需要将数组最远端的元素和最近端位置互换
  • 定义两个变量,保存数组的最小索引和数组的最大索引
  • 让两个索引上的元素交换位置
  • 最小的索引变量++,最大索引变量--,再次交换位置
  • 最小索引超过了最大索引,数组反转结束
    //准备一个需要反转的数组 
    int[] arr = {1,2,3,4,5,6}
    //定义两个索引变量,一个索引变量指向最小索引,一个索引变量指向最大索引
    int min = 0;
    int max = arr.length-1;
    //遍历数组,让两个索引变量产生变化
    min++;
    max--;
    条件min<max;
    //交换最小索引元素和最大索引元素;需要定义第三方元素
    int temp = 0;
    temp = arr[min];//把最小的索引元素赋值给第三方变量
    arr[min] = arr[max];//把最大的索引元素赋值给最小的索引元素
    arr[max] = temp;//把第三方变量的赋值给最大索引的元素
    

public static void main(String[] args){
    int[] arr = {1,2,3,4,5,6};
     //遍历数组,让两个索引变量产生变化
    //遍历数组 for  
    for(int min = 0,int max = arr.length-1;min < max;min++,max--){
        int temp = 0;
    	temp = arr[min];//把最小的索引元素赋值给第三方变量
   		arr[min] = arr[max];//把最大的索引元素赋值给最小的索引元素
    	arr[max] = temp;//把第三方变量的赋值给最大索引的元素
    }
    //查看反转之后的数组内容  遍历数组
    for(int i = 0;i <= arr.length-1;i++){
        System.out.println(arr[i]);
    }
    
    //第二种思路
    int[] arr = {1,2,3,4,5,6};
    //遍历数组
    for(int i = 0;i < arr.length/2;i++){
        //交换变量
        int temp = 0;
        temp = arr[i];
        arr[i] = arr[arr.length-1-i];
        arr[arr.length-1-i] = temp;  
    }
    
}

二维数组

​ 定义方式:和一维数组是一样的,也有三种方式

方式一:

数组的数据类型[][] 数组名称 = new 数组的数组类型[长度1][长度2];
长度1 不可省略,代表 该二维数组里面存储的元素个数
长度2 可以省略,代表该二维数组里面的元素(数组里面的元素个数),而且它里面的数组元素个数一样
如: int[][] arr = new int[3][2];
长度3------》该arr数组里面有3 个元素(数组)
长度2----=-》该arr数组里面的每个数字元素都有两个元素
相当于-----》int[][] arr = {{0,0},{0,0},{0,0}};

方式二:

数组的数据类型[][] 数组名称 = new 数组的数据类型[][]{{元素1,元素2....},{元素1,元素2,元素3....},{元素1,元素2,元素3....}....}

方式三:

数组的数据类型[][] 数组名称 = {{元素1,元素2...},{元素1,元素2,...},{元素1,元素2,元素3...}.....}

二维数组元素访问方式

​借助于【索引】

格式:

数组名称[索引]---->访问的是二维数组的元素
    //访问二维当中的一维数组里面的元素
    数组名称[一维数组的索引值][一维数组里面的元素索引值]
    如:int[][] arr = {{10,20,50},{30,40,80},{15,100}};
    //访问arr 数组当中的10元素
   	arr[0][0]=10;
	// 访问arr数组的80元素
    arr[1][2] = 80

原文地址:https://www.cnblogs.com/luayan/p/13971818.html