【发布时间】:2012-12-20 21:33:57
【问题描述】:
我正在研究一个多维数组类(省略了复杂/不相关的细节)。我将数据存储为以行主要顺序存储的线性数组。我需要创建一个迭代器,它可以按列优先顺序迭代数组。鉴于数据以行主要顺序存储,行主要迭代器可以简单地将索引递增到数组中。但是,我不确定如何实现列主迭代器。我猜有一个公式可以用来计算索引,但无法在任何地方找到它或自己推导出它。重新排列数据不是一种选择,因为无论我需要两个迭代器。
【问题讨论】:
-
i = n; i < length; i += row_length -
这些都不是遍历数组,只是其元素的一个子集。
-
是的,它只会遍历一个子集。我确实有可用的数组维度。