标签:多少 span ++ === 需要 system 维数 规模 nbsp
处理方法:
记录数组一共有几行几列,有多少个不同值
把具有不同值的元素和行列及值记录在一个小规模数组中,从而缩小程序的规模
(ps:矩阵.length算的是行的长度)
public class xishu { public static void main(String[] args) { //创建一个数组 int[][] array1 = new int[11][11]; array1[1][2] = 1; array1[2][3] = 2; System.out.println("输出原始的数组"); // 输出原始数组 for (int[] ints : array1){ for(int anInt : ints){ System.out.print(anInt+"\t"); } System.out.println(); } //转换为稀疏数组 //获取有效值的个数 int sum = 0; for (int i=0;i<11; i++){ for (int j=0; j<11; j++){ if (array1[i][j] != 0){ sum++; } } } System.out.println("有效的个数:"+sum); //创建一个稀疏数组 3列 //稀疏数据第一行总的信息 int[][] array2 = new int[sum+1][3]; array2[0][0] = 11; array2[0][1] = 11; array2[0][2] =sum; //下面是稀疏矩阵的内容了 //统计有效数字 在几行几列 是什么 //遍历二维数组,同时我们也需要知道要写入稀疏数组第几行 int count = 0; for (int i=0; i<array1.length; i++){ for (int j=0; j<array1[i].length; j++){ if (array1[i][j]!=0){ count++; array2[count][0] = i; array2[count][1] = j; array2[count][2] = array1[i][j]; } } } System.out.println("=====输出稀疏数组======"); //输出稀疏数组 for (int i=0; i< array2.length; i++){ System.out.println(array2[i][0] + "\t" +array2[i][1] + "\t" +array2[i][2] + "\t"); } } }
标签:多少 span ++ === 需要 system 维数 规模 nbsp
原文地址:https://www.cnblogs.com/qiuyehaha/p/13264319.html