棋盤陣列轉稀疏存入磁碟並解析

2021-10-12 17:37:41 字數 2361 閱讀 7978

//建立二維陣列

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...