我有一个二维网格,其宽度和高度始终相同。
[0][1][2]
[3][4][5]
[6][7][8]
我将它的数据源缩减为一维数组。
[0][1][2][3][4][5][6][7][8]
元素的访问起作用,但是这里有一个棘手的部分:如何知道,当处理一维数组时,单元格的邻居是否在网格之外?
例如[5]的右上邻居不在网格中但是使用了计算的偏移索引,我会得到[3]。
有此领域经验的人吗?
答案 0 :(得分:1)
假设您知道(i)单元格的索引和(2)网格的尺寸(敏感的权利?),以及1D数组中的索引是k
,还是2D数组i, j
。
然后k = i * width + j
。因此i = k / width
,j = k % width
。 (/
是整数除法,%
是模数)。
获得这两个索引后,您就知道相邻单元格的索引,并且可以正常检查这些索引(我假设您知道如何)。