二維陣列轉稀疏陣列的思路
遍歷 原始的二維陣列,得到有效資料的個數sum
根據sum就可以建立稀疏陣列sparsearr int[sum + 1][3]
將二維陣列的有效資料存入到稀疏陣列
//建立乙個原始大的二維陣列11 * 11
//0: 表示沒有棋子
int chessarr1[
]=newint[11
][11]
; chessarr1[1]
[2]=
1;chessarr1[2]
[3]=
2;for(
int[
] row : chessarr1)
system.out.
println()
;}//1.先遍歷二維陣列 得到非0資料的個數
int sum =0;
for(
int i =
0; i <
11; i++)}
}int sparsearr[
]=newint
[sum +1]
[3];
///給稀疏陣列賦值
sparsearr[0]
[0]=
11;sparsearr[0]
[1]=
11;sparsearr[0]
[2]= sum;
int count =0;
//用於記錄是第幾個非0資料
for(
int i =
0; i <
11; i++)}
} system.out.
println()
; system.out.
println
("得到的稀疏陣列");
for(
int i =
0; i < sparsearr.length; i++
)
稀疏陣列轉原始的二組陣列的思路
先讀取稀疏陣列的第一行,根據第一根的資料,建立原始的二維陣列, 比如上面 chessarr2=int[11][11]
在讀取稀疏陣列後幾行的資料, 並賦給原始的二維陣列即可
system.out.
println
("得到的稀疏陣列");
for(
int i =
0; i < sparsearr.length; i++
)int chessarr2[
]=newint
[sparsearr[0]
[0]]
[sparsearr[0]
[1]=
11];for
(int i =
1; i < sparsearr.length; i++
) system.out.
println
("恢復後的二維陣列");
for(
int[
] row : chessarr1)
system.out.
println()
;}
稀疏二維陣列
package com.atguigu.sparsearray public class sparsearray system.out.println 計算原始二維陣列裡面非0值的個數,並輸出 int sum 0 for int is chessarr system.out.println sum ...
二維陣列與稀疏陣列
一維數00組的集合,二維陣列可以由多個一維陣列構成 二維陣列的建立 int a 推薦使用 int a2 直接建立 int a new int x 可以不進行定義也可以定義 int a int a new int,二維陣列的迭代 int b1 newint for int i 0 i 實現 packa...
二維陣列與稀疏陣列
二維陣列 陣列中的每乙個元素又是乙個陣列 宣告int a public static void main string args 0 1 2 0 1 2 0 1 2 0 1 2 newint 3 建立乙個長度為3的二維陣列,其中每乙個一維陣列的值為空 null 二維陣列遍歷 迴圈每次取出二維陣列中的...