运算符效率问题

[复制链接]
 楼主| pkat 发表于 2013-12-31 20:21 | 显示全部楼层 |阅读模式
假设,现在有个 9 x 9 的二维数组,我要遍历这个数组的每一个点
并且根据一定的条件将一个点的周围的8个点的值都 +1

所以,有时候会导致数组的下标越界,如 a[-1][0], a[8][9] 什么的
我的想法比较简单,设某一相邻点为 a[x][y]
那么,就先将x, y 过滤一道:
x = (x + 9) % 9
y = (y + 9) % 9
以此确保x, y 总是在下标的范围之内。

但是,因为是启动了一个线程专门不停的循环遍历该数组,所以效率很重要,我总觉得该算法速度不够快
不知道 %运算符效率怎么样,要是各位还有更快的算法不妨指点一二
火箭球迷 发表于 2013-12-31 20:36 | 显示全部楼层
貌似快不到哪去的样子,至少不比除法运算快
sinadz 发表于 2013-12-31 20:46 | 显示全部楼层
如何对每个点,周围8个点是固定的,那就在初始化处,先生成一张表,记录每个点周围的8(or其他数值)个点,这样遍历时,若需要操作周围的点,就访问这张表。
无冕之王 发表于 2013-12-31 20:58 | 显示全部楼层
对于你的问题 %的速度不会影响什么
您需要登录后才可以回帖 登录 | 注册

本版积分规则

196

主题

2726

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

196

主题

2726

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部