我正面临一些问题,需要在矩阵中找到邻居。我试图在代码中放置很多if
语句,因为我很确定有更好的方法可以做到,但我不确切知道如何。
为了简化,假设我们有以下矩阵:
1 2 3 4 5
6 7 8 9 6
1 2 3 4 5
2 3 4 6 7
考虑单元格[2,2] = 3
,邻居将是(i,j-1)
,(i-1,j)
,(i+1,j)
,(i,j+1)
,(i+1,j+1)
,{{1} }。我使用这样的(i-1,j-1)
为它创建了一个“掩码”,其中for-loop
是我当前元素的i坐标(示例中为2),inicio[0]
是j坐标(元素3也是2)。另外,我正在考虑元素必须位于蒙版的中心。
inicio[1]
但是,我不知道如何处理边框中的元素。如果我想找到元素 for(k=inicio[0]-1;k<inicio[0]+1;k++){
for(z=inicio[1]-1;z<inicio[1]+1;z++)
if(k!=0 || z!=0) //jump the current cell
的邻居,例如,考虑元素必须位于掩码的中间,如下所示:
[0,0] = 1
如何处理这些x x x
x 1 2
x 6 7
元素?我想在零上初始化边界,但我认为这不是正确的方法。因此,如果有人能够解释更好的方法或算法,我会很高兴。