0
我有一個大小爲N * N的網格或二維數組。考慮一個6×6陣列像例如以下:將2D數組劃分爲「框」和框中的索引元素
......
......
......
......
......
......
我給定的兩個整數,高度和寬度。網格將被劃分成該尺寸的盒,例如分成3個* 3盒是這樣的:
... ...
... ...
... ...
... ...
... ...
... ...
相同的6 * 6網格可以也分爲2個* 3盒是這樣的:
... ...
... ...
... ...
... ...
... ...
... ...
依此類推。人們可以假設,如果它很重要的話,那麼給出的兩個整數總是將整個陣列均勻整齊地整齊排列。問題是,當我有一個座標或索引到數組中時,我需要快速索引這個特定座標的鄰居。鄰居是在同一個盒子裏的點。例如,如果框的大小爲2 * 3,則(0,0)的鄰居將是{(0,1),(0,2),(1,0),(1,1),(1 ,2)}。這似乎並不困難,但我無法想出任何簡單的東西。我正在使用C++,但這是獨立於語言的。