//建立二維陣列
int arr[
]=newint[11
][11]
;//初始化
arr[1]
[2]=
1;arr[2]
[3]=
2;arr[4]
[9]=
999;
arr[6]
[6]=
666;
system.out.
println
("原始棋盤:");
for(
int i =
0;i < arr.length;i++
) system.out.
println()
;}//計算有效數字的個數
int sum =0;
for(
int[
] ints : arr)}}
system.out.
println
("有效數字個數:sum="
+sum)
;//建立稀疏陣列
int[
] sparearray =
newint
[sum+1]
[3];
//初始化稀疏陣列
sparearray[0]
[0]=
11;sparearray[0]
[1]=
11;sparearray[0]
[2]= sum;
//遍歷二維陣列給稀疏陣列賦值
int cou =0;
for(
int i =
0;i < arr.length;i++)}
}//將稀疏陣列存入磁碟
file file =
newfile
("e:\\map.txt");
file.
createnewfile()
; filewriter fw =
newfilewriter
(file)
; system.out.
println
("稀疏棋盤:");
for(
int i =
0;i) fw.
write
("\r\n");
system.out.
println()
;}fw.
close()
;//從磁碟讀取稀疏陣列並建立
bufferedreader br =
newbufferedreader
(new
filereader
(file));
string[
] split = null;
string line;
int row =0;
while
((line = br.
readline()
)!= null)
int[
] sparearray1 =
newint
[row][3
];row =0;
br.close()
; bufferedreader br1 =
newbufferedreader
(new
filereader
(file));
while
((line = br1.
readline()
)!= null)
row++;}
br.close()
; system.out.
println
("讀取後的稀疏陣列:");
for(
int[
] s : sparearray1)
system.out.
println()
;}//解析稀疏棋盤
//建立棋盤
int[
] newarr =
newint
[sparearray1[0]
[0]]
[sparearray1[0]
[1]]
;//給棋盤賦值
for(
int i =
1;i < sparearray1.length;i++
) system.out.
println
("還原後的陣列:");
for(
int[
] ints : newarr)
system.out.
println()
;}
陣列轉稀疏陣列
針對於陣列轉稀疏陣列 壓縮 public static void main string args system.out.println system.out.println 稀疏陣列 將二維陣列轉換為稀疏陣列 先遍歷二維陣列 得到非0資料的個數 記錄非0資料 int sum 0 for int i...
稀疏陣列的讀取和存入
public static void main string args system.out.println 得到有效數字的個數 int sum 0 for int i 0 i 11 i system.out.println 有效數字總和為 sum 將有效陣列存入稀疏陣列中 int array2 n...
二維陣列轉稀疏陣列的思路
二維陣列轉稀疏陣列的思路 遍歷 原始的二維陣列,得到有效資料的個數sum 根據sum就可以建立稀疏陣列sparsearr int sum 1 3 將二維陣列的有效資料存入到稀疏陣列 建立乙個原始大的二維陣列11 11 0 表示沒有棋子 int chessarr1 newint 11 11 chess...