1

假设我有一个从左到右、从上到下的索引 12(第 12 个元素)。

我有一个数组 [4] [4]。

给定一维索引 12,计算索引 [3][2] 的最快方法是什么?(一维索引从 1 开始)。

谢谢

4

2 回答 2

1

不知道这是否最快,但绝对简单:

假设数组[x][y]

ix = floor(index / y)
iy = index % y

例子:

01
23
45

x = 3
y = 2

index = 3
ix = floor(3 / 2) = 1
iy = 3 % 2 = 1    

index = 5
ix = floor(5 / 2) = 2
iy = 5 % 2 = 1
于 2012-11-23T04:54:39.670 回答
0

给定 a[x][y] 是数组

使用这个公式

[index of 1d array]= (rnum * colsize) + (colnum + 1)

所以对于 a[3][2]colsize=4

= (3 * 4) + (2 + 1)
= 15
于 2012-11-23T05:06:39.383 回答