package com.malajava.sparsearray;public class sparsearray { public static void main(string[] args) { //创建一个11*11二维数组 int array[][] = new int[11][11]; array[1][2]=1; array[2][3]=2; system.out.println(------------------二维数组------------------); for (int[]row:array){ for (int data: row){ system.out.printf(%d\t,data); } system.out.println(); } //二维数组转稀疏数组 //先遍历二维数组,得到非零数据的个数 int sum=0; for (int[]row:array){ for (int data: row){ if(data != 0) sum++; } } system.out.println(----------------------------------------); system.out.println(非零个数为:+sum); int sparsearray[][] = new int[sum+1][3]; sparsearray[0][0] =11; sparsearray[0][1]=11; sparsearray[0][2]=sum; //遍历二维数组将非零数字存入稀疏数组 int count=0; //用于记录是第几个非零数据 for (int i=0;i<11;i++){ for (int j = 0; j < 11; j++) { if(array[i][j] != 0){ count++; sparsearray[count][0]=i; sparsearray[count][1]=j; sparsearray[count][2]=array[i][j]; } } } system.out.println(------------稀疏数组-------------------------); //输出稀疏数组 for (int [] row:sparsearray) { for(int data:row){ system.out.printf(%d\t,data); } system.out.println(); } //稀疏数组转二维数组 system.out.println(----------------二维数组----------------------); int chessarray[][] =new int[sparsearray[0][0]][sparsearray[0][1]]; for (int i=1;i
以上就是如何在java中实现稀疏数组和二维数组的转换?的详细内容。