Java一维数组转二维数组,二维数组反转java

  Java一维数组转二维数组,二维数组反转java

  00-1010二维阵列稀疏阵列1。稀疏算法基础介绍2。稀疏算法的处理方法将二维数组转化为稀疏数组的思想

  

目录

二维数组本质上是以数组为元素的数组,即“数组的数组”。类型说明符数组名称[常量表达式][常量表达式]。二维数组也叫矩阵,行列相等的矩阵叫方阵。对称矩阵a[i][j]=a[j][i],对角矩阵:n阶方阵主对角线以外的元素全部为零。

 

  

二维数组

 

  00-1010当一个数组中的大部分元素为0,或者是一个值相同的数组时,可以使用稀疏数组来保存数组。从而减少计算机不必要的内存开销。

  00-1010 (1)数组中的第一行记录了原始数组中有多少行和列,以及有多少个不同的值。(2)在一个小规模数组中记录不同值的元素的行、列和值,从而减小程序的规模。

  00-1010遍历原始2D数组,得到有效数据的个数和。根据求和,可以创建一个稀疏数组sparseArr int[sum 1][3]将2D数组的有效数据保存到稀疏数组的思想稀疏数组到原始2D数组:

  读取稀疏数组的第一行,根据第一行的数据创建原始的2D数组。比如上面的chess ar 2=int[11][11],然后读取稀疏数组最后几行的数据,赋给原来的2D数组,写一个2D数组:

  //1.创建一个二维数组intchessarr 1[][]=new int[11][11];//2.将chess ar 1[1][2]=1赋给二维数组;chess ar 1[2][3]=2;//3.Double for循环输出二维数组System.out.println(原始二维数组:);for(int[]row : chess ar 1){ for(int data : row){ system . out . printf( % d t ,data);}//每输出一个重数组就换一行system . out . println();}将二维数组换成稀疏数组。

  //将2D数组变成稀疏数组//1。首先遍历2D数组,得到非零数据的个数。如果知道数据的个数,可以创建稀疏数组(知道稀疏数组的行数)int sum=0;for(int I=0;i 11I){ for(int j=0;j 11j){ if(chess ar 1[I][j]!=0){ sum;} }}System.out.println(有效值的个数为: sum );//2.创建对应的稀疏数组int sparsearr[][]=new int[sum 1][3];//3.将sparseArr[0][0]=11分配给稀疏数组;sparseArr[0][1]=11;sparseArr[0][2]=sum;//4.遍历二维数组,给稀疏数组int count=0;//用来记录哪一行是for(int I=0;i 11I){ for(int j=0;j 11j){ if(chess ar 1[I][j]!=0){ sparseArr[count 1][0]=I;sparseArr[count 1][1]=j;sparseArr[count 1][2]=chess ar 1[I][j];数数;} }}//5.输出稀疏数组//这里有两个遍历方法:/* for(int[]ints : sparsearr){ for(int anint 3360 ints){ system . out . printf( % d t ,anint);}//遍历完一个数组,换一行system . out . println();}*/System.out.println(获取稀疏数组as ~ ~ ~ ~ );for(int I=0;I稀疏r .长度;I){ system . out . printf( % d t % d t % d t n ,sparseArr[i][0],sparseArr[i][1],sparseArr[I][2]);}将稀疏数组恢复为二维数组

  //将稀疏数组恢复为2D数组//1。创建2D数组intchessarr 2[][]=new int[sparsearr[0][0]][sparsearr[0][1]];//2.为二维数组赋值(int I=1;I稀疏r .长度;I){ ches sarr 2[sparseArr[I][0]][sparseArr[I][1]]=sparseArr[I][2];}//3.输出一个二维数组for(int[]row 3360 chess ar 2){ for(int data 3360 row){ system . out . printf( % d t ,data);} system . out . println();}一棵树越是向往高处的光明,它的根就越会下到泥土里,下到黑暗里。

  关于Java轻松实现二维数组和稀疏数组转换的这篇文章到此为止。有关Java数组转换的更多信息,请搜索Popular IT以前的文章或继续浏览下面的相关文章。我希望你以后能更多地支持流行音乐!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: