}//將二維陣列轉成稀疏陣列
//1.先遍歷二維陣列 得到非0資料的個數
int sum = 0;
for (int i = 0;i < 11;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;
//遍歷二維陣列,將非0的值存放到sparsearr中
int count = 0;//count用於記錄是第幾個非0資料
for (int i = 0;i < 11;i++)}}
//輸出稀疏陣列的形式
system.out.println();
system.out.println("得到的稀疏陣列為~~~");
for (int i = 0;i < sparsearr.length;i++)
system.out.println();
//將稀疏陣列 --> 恢復成原始的二維陣列
/*1.先讀取稀疏陣列的第一行,根據第一行的資料,建立原始的二維陣列,比如上面的chessarr2 = in
2.再讀取稀疏陣列後幾行的資料,並付給原始的二維陣列即可。
*///1.先讀取稀疏陣列的第一行,根據第一行的資料,建立原始的二維陣列
int chessarr2 = new int[sparsearr[0][0]][sparsearr[0][1]];
//2.再讀取稀疏陣列胡幾行的資料(從第二行開始),並付給原始的二維陣列即可。
for (int i = 1;i < sparsearr.length;i++)
//輸出恢復後的二維陣列
system.out.println();
system.out.println("恢復後的二維陣列");
for (int row : chessarr2)
system.out.println();}}
}
稀疏sparsearray陣列
線性結構常見的有 陣列 佇列 鍊錶和棧 非線性結構包括 二維陣列 多維陣列 廣義表 樹結構 圖結構 編寫的五子棋程式中,有存檔退出和續上盤的功能 分析問題 因為該二維陣列的很多值是預設值 0,因此記錄了很多沒有意義的資料 稀疏陣列。當乙個陣列中大部分元素為 或者為同乙個值的陣列時,可以使用稀疏陣列來...
關於sparseArray稀疏陣列
關於稀疏陣列 二維陣列 轉 稀疏陣列的思路 遍歷 原始的二維陣列,得到有效資料的個數 sum 根據sum 就可以建立 稀疏陣列 sparsearr int sum 1 3 將二維陣列的有效資料資料存入到 稀疏陣列 稀疏陣列轉原始的二維陣列的思路 先讀取稀疏陣列的第一行,根據第一行的資料,建立原始的二...
Sparsearray稀疏陣列原理及例項詳解
今天覆習下稀疏陣列相程式設計客棧關思想。問題引入 編寫的五子棋程式中,有存檔退出和續上盤的功能。如上圖所示二維陣列,大多值是預設值 0 所以記錄大量無意義的資料意義不大,此時可以引入稀疏陣列。稀疏陣列介紹 當乙個陣列大部分元素為固定值時,可以使用稀疏陣列來儲存類似陣列 稀疏陣列處理思路 稀疏陣列記錄...