稀疏陣列和二維陣列的相互轉換

2021-10-09 20:58:20 字數 1466 閱讀 6766

二維陣列轉化為稀疏陣列:

//建立乙個原始二維陣列

//0表示無子,1表示黑子,2表示白子

int arr[

]=newint[11

][11]

; arr[1]

[2]=

1;arr[2]

[3]=

2;for(int arr1[

]:arr)

system.out.

println()

;}//得到二維陣列的非0值

int sum=0;

for(int i=

0;i<

11;i++)}

} system.out.

println

(sum)

;//建立稀疏陣列

int sparearray[

]=newint

[sum+1]

[3];

//給稀疏陣列賦值:

sparearray[0]

[0]=

11;sparearray[0]

[1]=

11;sparearray[0]

[2]=sum;

int count =0;

//記錄第幾個非0的資料

//遍歷二維陣列,將非0的值放在sparearray中

for(int i=

0;i<

11;i++)}

}//輸出稀疏陣列

system.out.

println

("稀疏陣列為:");

然後稀疏陣列轉化為二維陣列:

自己想的方法:

int row = sparearray[0]

[0];

int col = sparearray[0]

[1];

int arr1[

]=newint

[row]

[col]

;for

(int i=

0;i<

11;i++

)else}}

}

老師的方法:

int row = sparearray[0]

[0];

int col = sparearray[0]

[1];

int arr2[

]=newint

[row]

[col]

;for

(int i=

1;i)

二維陣列與稀疏陣列的相互轉化

package com.weiting.sparsearray public class sparsearray system.out.println 將二維陣列轉化為稀疏陣列 1.遍歷二維陣列得到非零的數字個數 int sum 0 for int i 0 i 11 i system.out.pri...

稀疏陣列與二維陣列相互轉換思路及原始碼實現

package com.vg public class testsparsearray public static void main string args 建立乙個11 11原始陣列 0代表沒有棋子,1代表黑棋,2代表白棋 int chessarr1 new int 11 11 chessarr...

二維陣列轉換為稀疏陣列

二維陣列轉換為稀疏陣列 二維陣列轉換稀疏陣列的思路 1.遍歷原始的二維陣列,得到有效資料的個數sum sum有多少個,稀疏陣列就有sum 1行 2.根據sum的個數建立稀疏陣列sparsearray int sum 1 3 列為固定值,行不確定 3.將二維陣列的有效資料放入稀疏陣列中 0 0 0 1...