在2d阵列中。迭代前2行和2列,然后再前2行,接下来的2列等

时间:2013-09-11 08:48:44

标签: java arrays for-loop multidimensional-array iteration

我试图以一种奇怪的方式迭代一个数组。我想不出一个好办法。我需要一次只对2列迭代前2行。所以一次有4个指数头寸。我会继续前2行,直到列出,然后继续下两行。我会这样做,直到我没有排。我可以假设数组将始终是偶数个行和列(2,4,6),但不是它们是正方形。它最终可能是4x6等。最小的阵列也可能是4x4。

有什么建议吗?我正在画一个空白,只是硬编码它的种类。找到一行的长度,除以2,然后重复多次?

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

1 个答案:

答案 0 :(得分: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个循环,具体取决于您要执行的操作。否则这很好。

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