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

2021-10-21 19:40:46 字數 1266 閱讀 4858

package com.weiting.sparsearray;

public

class

sparsearray

system.out.

println()

;}//將二維陣列轉化為稀疏陣列

//1.遍歷二維陣列得到非零的數字個數

int sum =0;

for(

int i =

0; i <

11; i++)}

} system.out.

println

("sum="

+sum)

;//建立對應的稀疏陣列

int sparsearray[

]=newint

[sum+1]

[3];

//sum+1表示總共有多少行因為下標是從零開始的所以加1

//給稀疏陣列賦值

sparsearray[0]

[0]=

11;//表示行row

sparsearray[0]

[1]=

11;//表示列col

sparsearray[0]

[2]=sum;

//表示值value

//遍歷二維陣列,將非零數存入稀疏陣列中

int count=0;

//用於記錄第幾個非零資料

for(

int i =

0; i <

11; i++)}

} system.out.

println

("得到的稀疏陣列為:");

for(

int i =

0; i < sparsearray.length; i++

)//將稀疏陣列恢復為二維陣列

//讀取稀疏陣列的第一行,根據第一行的資料建立二維陣列

int cheesearray1[

]=newint

[sparsearray[0]

[0]]

[sparsearray[0]

[1]]

;for

(int i=

1;i)//輸出二維陣列

system.out.

println

("輸出恢復不完全的二維陣列");

for(

int[

] row:cheesearray1)

system.out.

println()

;}}}

稀疏陣列轉化二維陣列

public class sparse system.out.println system.out.println 轉化為稀疏陣列儲存 獲取有效值的個數 判斷是否有值 int sum 0 臨時變數,計數用的 for int i 0 i 9 i system.out.println 有效值的個數 su...

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

二維陣列轉化為稀疏陣列 建立乙個原始二維陣列 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...

二維陣列與稀疏陣列之間的轉化

1.稀疏陣列介紹 如果原陣列的非0元素的個數有n個,則稀疏陣列有n 1行,列數不變,一共有三列 第一行儲存的資料 原始陣列的行 原始陣列儲存的列 原始陣列中非0的元素個數 第二行儲存的資料 第乙個非0元素所在的行 第乙個非0元素所在的列 第乙個非0元素的值 2.二維陣列轉化為稀疏陣列 遍歷二維陣列,...