首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一维阵元的最近邻运算

一维阵元的最近邻运算
EN

Stack Overflow用户
提问于 2011-10-22 19:52:44
回答 1查看 2.3K关注 0票数 4

我有二维数组,并希望将其转换为一维数组。

二维数组是:

代码语言:javascript
复制
1   2   3   4
5   6   7   8
9   10  11  12
13  14  15  16

到一维数组:

代码语言:javascript
复制
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

如何在一维数组中访问元素号6的最近邻,以便在访问2D数组时获得相同的结果,例如

代码语言:javascript
复制
1   2   3   
5   6   7   
9   10  11

在C++?

EN

回答 1

Stack Overflow用户

发布于 2011-10-22 19:57:17

如果您有一个2D数组,它是由M项长到高的N项,那么您需要一个具有M*N元素的一维数组。

当试图查找元素x的邻居时

代码语言:javascript
复制
left(x) = (x - 1) % M
right(x) = (x + 1) % M
above(x) = (x - M) % (M * N)
below(x) = (x + M) % (M * N)

请注意,上面的解决方案使数组的底部和顶部相邻,以及右侧边缘和左侧边缘。要消除这种情况,只需省略模块化的数学,并检测索引何时已经超出了右/左/上/下边缘。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7862190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档