稀疏陣列:陣列中大部分元素都為0或相同數
處理方法:(1) 記錄陣列的行列數及不同的值
(2)把非0值行列及值記錄在小規模陣列裡
二維陣列轉稀疏陣列:
1.遍歷原始二維陣列,得到有效資料sum
2.根據sum可以建立稀疏陣列arr int[sum+1][3]
3.將二維陣列的有效資料存入新陣列
反之:1.讀取陣列的第一行,根據第一行的資料建立原始陣列
2.讀取稀疏陣列資料並付給原始的二維陣列
**實現:
public class sparsearraysystem.out.println() ;
}//遍歷二維陣列,得到非0
int sum=0;
for(int i=0;i}
}system .out .println("sum="+sum);
//建立稀疏陣列
int sparsearr=new int[sum+1][3];
//賦值
sparsearr[0][0]=11;
sparsearr[0][1]=11;
sparsearr[0][2]=sum;
int count=0;//計數器
for(int i=0;i}
}system.out.println();
system.out.println("稀疏陣列為:");
for (int i=0;isystem.out.println();
//將稀疏恢復為二維陣列
int chessarr2=new int[sparsearr[0][0] ][sparsearr[0][1] ];
//賦值
for(int i=1;ifor(int row:chessarr2)
system.out.println() ;}}
}
資料結構 1 稀疏陣列
在使用二維陣列儲存資料時,如果儲存的非預設值 比如 int 型別的預設值是0 的個數少於整個二維陣列的大小時,就可以考慮使用稀疏陣列來減少記憶體使用空間 稀疏陣列的第一維是普通陣列的一維長度二維長度和非預設元素個數 其他維是非預設元素的一維下標二維下標和元素值 獲取普通陣列的一維和二維的長度,以及非...
資料結構 陣列和稀疏陣列
陣列是一種資料結構,其可以在記憶體中連續儲存多個資料元素,在記憶體中的分配也是連續的。如上圖,是乙個長度為6的int型陣列。陣列在建立的時候會在記憶體中開闢一段連續的記憶體,陣列中的元素都是同一型別的 也就意味著陣列中每一元素所占用的記憶體是一樣的 陣列長度確定後不能再修改,陣列是引用型別,可存在多...
資料結構 稀疏陣列
資料結構 當乙個陣列中大部分元素為同乙個值時可以使用稀疏陣列來存該陣列 二維陣列轉稀疏陣列 稀疏陣列轉回原始二維陣列 稀疏陣列 public class sparsearray system.out.println 將二維陣列轉成稀疏陣列 1.先遍歷得到非0資料的個數 int sum 0 for i...