原陣列與稀疏陣列的轉換

2021-10-10 22:36:14 字數 2904 閱讀 6715

今天剛學乙個稀疏陣列,記錄

首先要獲取原陣列,在此可建立乙個陣列,並且給陣列賦值,在程式中有時可能並不會給陣列所有的位置都賦值,那麼沒有賦值的位置就造成了浪費!!!

int

array =

newint[11

][11]

; array[1]

[2]=

1;array[2]

[3]=

2;array[4]

[5]=

13;array[6]

[7]=

35;

輸出一下陣列:

然後,此時需要獲取陣列中的有效值的個數

int sum =0;

for(

int i =

0; i

)}

//建立乙個稀疏陣列,如下:

// 11 11 4

// 2 3 1

// 3 4 2

// 5 6 13

// 7 7 35

建立乙個稀疏陣列如上,第一行的三個數分別表示原陣列的行數、列數、有效數字個數,下面的依次是每乙個有效個數的行和列及值。

接著,建立乙個稀疏陣列

int

array2 =

newint

[sum+1]

[3];

array2[0]

[0]= array.length;

array2[0]

[1]= array[0]

.length;

array2[0]

[2]= sum;

陣列有sun+1行,3列;

將原陣列中每乙個有效個數的行和列記錄到稀疏陣列中:

int temp =1;

for(

int i =

0; i

}

最後遍歷輸出一下新的陣列.

//稀疏陣列的還原

//建立還原陣列,新陣列的行數是稀疏陣列的第一行第一列的值,列數是稀疏陣列第一行第二列的值

int[

] array3 =

newint

[array2[0]

[0]]

[array2[0]

[1]]

;for

(int i =

1; i < array2.length; i++

)for

(int i =

0; i

) system.out.

println()

;}}}

//原過程**:

package com;

public

class

arraysort

system.out.

println()

;}//稀疏陣列,陣列壓縮方法

system.out.

println

("***************=");

int sum =0;

for(

int i =

0; i

system.out.

println

("原陣列裡的有效值有"

+sum+

"個!!!");

//建立乙個稀疏陣列,如下:

// 11 11 2

// 2 3 1

// 3 4 2

// 5 6 13

// 7 7 35

int[

] array2 =

newint

[sum+1]

[3];

array2[0]

[0]= array.length;

array2[0]

[1]= array[0]

.length;

array2[0]

[2]= sum;

int temp =1;

for(

int i =

0; i

}for

(int i =

0; i

) system.out.

println()

;}//稀疏陣列的還原

//建立還原陣列,新陣列的行數是稀疏陣列的第一行第一列的值,列數是稀疏陣列第一行第二列的值

int[

] array3 =

newint

[array2[0]

[0]]

[array2[0]

[1]]

;for

(int i =

1; i < array2.length; i++

)for

(int i =

0; i

) system.out.

println()

;}}}

稀疏陣列轉換

classname sparsearray author jopenchen date 2020 09 07 19 51 description 稀疏陣列 public class sparsearray system.out.println 陣列變化的記錄數 int recordsum 0 遍歷獲...

稀疏陣列與二維陣列的轉換

稀疏陣列的使用場景 當乙個陣列中大部分元素為0,或者為同乙個值的時候,可以使用稀疏陣列來儲存該陣列。比如這樣乙個陣列,裡面除了1和2之外其餘全為0。比如下面這張圖 左邊二維陣列為6行7列,其中有8個非零的值,所以將 6,7,8 存在第0行 後面開始記錄原二維陣列有效資料的位置,比如有效資料22,其位...

稀疏陣列與普通二維陣列的轉換

今天開始更新資料結構與演算法 這是資料結構的第一篇 大神可以無視,小白可以湊合看看,為了給小白看的清楚,裡面加了每一步的演示,複製到ide中即可執行。package learn author yuyi 稀疏陣列的 實現 第一行記錄原陣列幾行幾列,多少個有效值 接下來是所在行列的位置以及值的內容 稀疏...