稀疏陣列可以看做是普通陣列的壓縮,簡單點 稀疏陣列中都是有用資料且,結構int sparsearray = new int[sum+1][3]
說明:sum為二維陣列中有用資料個數。
棋盤(標準的二維陣列 11 * 11) 0代表無子 1 代表黑子 2 代表 白子
將上述二維陣列轉為稀疏陣列如下展示
說明:第一行 儲存 原二維陣列的行、列、有效資料個數
第二至sum+1行 儲存 原二維陣列中 有效資料 所在 行、列、有效資料值(sum為有效資料個數)
理論到此為止上碼~~
public static void main(string args)system.out.println();
}system.out.println("二維陣列~~~~");
//2二維陣列轉稀疏陣列
int sum = 0;
for (int ints : chessarr1) }}
int chessarr2 = new int[sum + 1][3];
chessarr2[0][0] = chessarr1.length;
chessarr2[0][1] = chessarr1[0].length;
chessarr2[0][2] = sum;
int row = 1;
for (int i = 0; i < chessarr1.length; i++) }}
for (int ints : chessarr2)
system.out.println("稀疏陣列~~");
//3.稀疏陣列轉二維陣列
int chessarr3 = new int[chessarr2[0][0]][chessarr2[0][1]];
for (int i = 1 ; i < chessarr2.length ; i++)
for (int ints : chessarr3)
system.out.println();}}
庖丁解牛 資料結構(二)之陣列模擬佇列
佇列是一種特殊的線性表,特殊之處在於它只允許在表的前端 front 進行刪除操作,而在表的後端 rear 進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。去銀行排對取錢 public class arrayqueuedemo catch ex...
庖丁解牛 資料結構(三)之陣列模擬環形佇列
環形佇列,個人粗粗的理解,可以反覆使用,上一張寫的資料模擬佇列是乙個一次性佇列用過就不能用了,環形佇列是取出資料後可重複利用空餘時間。可用2 已用 3 已用 public static void main string args catch exception e break case a syst...
ARM「庖丁解牛」之儲存器管理單元MMU
最近筆者詳細地學習了由杜春雷老師編寫的 arm體系結構與程式設計 對arm儲存管理單元mmu有了全新的認識。在這裡寫寫心得體會,也可以對知識點兒梳理一下吧。在談mmu之前,筆者談一下關於學習方法的問題。筆者在看第5章 arm儲存系統時,反覆的對所講到的內容進行思考推敲,但是當看完一遍 兩遍時,筆者 ...