有没有一种简单的方法可以找到二维数组中元素的邻居(即元素周围的八个元素)?不仅仅是以不同的组合对索引进行减法和加法,如下所示:
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 个或更多单元格之外)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)