庖丁解牛 資料結構(一)之稀陣列

2021-10-05 11:04:14 字數 1155 閱讀 4538

稀疏陣列可以看做是普通陣列的壓縮,簡單點 稀疏陣列中都是有用資料且,結構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儲存系統時,反覆的對所講到的內容進行思考推敲,但是當看完一遍 兩遍時,筆者 ...