0

我试图以一种奇怪的方式迭代一个数组。我想不出一个好的方法来做到这一点。我需要一次只遍历 2 列的前 2 行。所以一次有4个索引位置。我会继续第一 2 行,直到没有列,然后继续下 2 行。我会这样做,直到我排满为止。我可以假设数组总是偶数行和列 (2, 4 , 6) ,但不是正方形。它最终可能是 4x6 等。可能的最小阵列也是 4x4。

有什么建议么?除了对它进行硬编码之外,我还在画一个空白。求一行的长度,除以 2,然后迭代那么多次?

示例:我有一个二维数组。它是 4X4。即 4 个四元素方形“块”。块是 2x2。所以我需要首先操作的第一个块位于索引位置 [0][0]、[0][1]、[1][0]、[ 1][1]。

4

1 回答 1

0
Iterate rows  r = 0;(r +1) < r_max; r+=2  
   Iterate colums c = 0; (c+1) < c_max; c +=2  
      operate on r, r+1 and c,c+1

如果您觉得“2”是硬编码,您可以轻松地对其进行参数化,但“操作”阶段可能需要另外 2 个循环,具体取决于您想要做什么。否则这很好。

我只想在顶部添加检查或断言,以验证您所说的是您的假设

于 2013-09-11T08:51:25.793 回答