当你只知道扁平3D阵列的索引时,可以找到i,j,k值吗?

时间:2011-01-31 22:49:14

标签: arrays multidimensional-array

如果我只知道一个元素索引,以及一个数组的维度和存储顺序,是否有可能找到对应于该索引的i,j,k三元组?

由于

1 个答案:

答案 0 :(得分:2)

是的,这是可能的。

k = index % kDimension;
j = (index / kDimension) % jDimension
i = (index / kDimension) / jDimension

我们可以通过重建索引来测试这个:

index = i * (jDimension * kDimension)
      + j * kDimension
      + k

并注意到它给出了相同的结果(当你考虑整数舍入时)。