資料結構01 稀疏陣列

2021-10-25 00:07:44 字數 1569 閱讀 2267

二維陣列轉稀疏陣列思路:

* 1、建立乙個二維陣列,遍歷獲取有效資料的個數sum

* 2、根據sum建立稀疏陣列int[sum+1][3]並對於第一行屬性處賦值

* 3、遍歷二維陣列將有效資料存入稀疏陣列

稀疏陣列轉二維陣列思路:

public

class 稀疏陣列 }}

//根據sum建立稀疏陣列

int[

] sparsearr =

newint

[sum+1]

[3];

//稀疏陣列第0行賦值

sparsearr[0]

[0]=

11;sparsearr[0]

[1]=

11;sparsearr[0]

[2]=sum;

//遍歷二維陣列,非0值存入稀疏陣列

int count=0;

for(

int i =

0; i < arr1.length; i++)}

}//檢視稀疏陣列

for(

int i =

0; i < sparsearr.length; i++

) system.out.

println()

;}//稀疏陣列轉二維陣列 根據稀疏陣列第一行屬性值建立乙個二維陣列

int[

] arr2 =

newint

[sparsearr[0]

[0]]

[sparsearr[0]

[1]]

;//遍歷稀疏陣列 將有效值賦給二維陣列

for(

int i =

1; i < sparsearr.length; i++

)//遍歷二維陣列

system.out.

println

("新的二維陣列: ");

for(

int i =

0; i < arr2.length; i++

) system.out.

println()

;}}}

輸出結果:

稀疏陣列:

111131

2123

2452

轉換的二維陣列: 00

0000

0000

0001

0000

0000

0002

0000

0000

0000

0000

0000

0002

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

000

資料結構 01 稀疏陣列

將二維陣列 轉 稀疏陣列的思路 1 先遍歷二位陣列 得到非0個數 int sum 0 for int i 0 i chessarr1.length i system.out.println 非0個數 system.out.println sum 建立對應稀疏陣列 int sparsearray ne...

go資料結構01 稀疏陣列

換行 2 建立乙個稀疏陣列,記錄陣列中的元素 思路 遍歷棋盤,如果有乙個元素不為0,那麼建立乙個node結構體,將其放入到棋盤中去 var sparsearr valnode 建立乙個值節點儲存棋盤大小 vnodee valnode sparsearr sparsearr,vnodee for i,...

資料結構 稀疏陣列

資料結構 當乙個陣列中大部分元素為同乙個值時可以使用稀疏陣列來存該陣列 二維陣列轉稀疏陣列 稀疏陣列轉回原始二維陣列 稀疏陣列 public class sparsearray system.out.println 將二維陣列轉成稀疏陣列 1.先遍歷得到非0資料的個數 int sum 0 for i...