在二维数组中查找邻居

是否有一种简单的方法来查找二维数组中某个元素的邻居(即,元素周围的八个元素)?缺少只是以不同的组合减去和增加索引,像这样:

array[i-1][i]

array[i-1][i-1]

array[i][i-1]

array[i+1][i]

… 等等。

回答:

(伪代码)

row_limit = count(array);

if(row_limit > 0){

column_limit = count(array[0]);

for(x = max(0, i-1); x <= min(i+1, row_limit); x++){

for(y = max(0, j-1); y <= min(j+1, column_limit); y++){

if(x != i || y != j){

print array[x][y];

}

}

}

}

当然,这几乎要花费原始硬编码解决方案的许多行,但是通过这一解决方案,您可以最大程度地扩展“邻居”(2-3个或更多单元格)

以上是 在二维数组中查找邻居 的全部内容, 来源链接: utcz.com/qa/403492.html

回到顶部