矩阵边界中的一个单元格的邻居

时间:2015-06-09 15:56:15

标签: matrix neighbours

我正面临一些问题,需要在矩阵中找到邻居。我试图在代码中放置很多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 元素?我想在零上初始化边界,但我认为这不是正确的方法。因此,如果有人能够解释更好的方法或算法,我会很高兴。

0 个答案:

没有答案