您好,欢迎访问一九零五行业门户网

如何在Java中实现稀疏数组和二维数组的转换?

废话少说,直接上代码
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中实现稀疏数组和二维数组的转换?的详细内容。
其它类似信息

推荐信息