稀疏数组

0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0 0
0 0 0 2 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0

 

稀疏数组 
1 2 1
2 3 2

 //转换为稀疏数组保存

//获取有效值的个数

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);

 

//创建一个稀疏数组的数组

int [][] array2=new int[sum+1][3];

 

array2[0][0]=11;

array2[0][1]=11;

array2[0][3]=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 = 1; i < array2.length; i++) {

  System.out.println(array2[i][0] + "\t"

      + array2[i][1] + "\t"

      + array2[i][2] + "\t");

}

 

posted @ 2022-01-08 12:04  颖晨曦  阅读(29)  评论(0)    收藏  举报