这可能听起来像是一个作业问题,但我发誓不是。我正在尝试为这个2D数组包装器类构建一个迭代器。我想如果我能解决这个问题,那么我就可以构建我的迭代器。
我有一个由9个连续整数组成的1D数组,从0开始到8结束。
[0, 1, 2, 3, 4, 5, 6, 7, 8]
我给出了两个变量horizontal_size = 3和vertical_size = 3。
我想将这个数组变成一个水平大小为h,垂直大小为v的2D数组,请简称它们为h和v。
我想要生成的结果是这样的:
给定1D数组中的值,该值告诉我索引,还给出了h和v(在这种情况下都为3)。有没有一种方法可以生成2D数组上的索引?
例如,1D数组中的第一个元素是0,它映射到
我有一个由9个连续整数组成的1D数组,从0开始到8结束。
[0, 1, 2, 3, 4, 5, 6, 7, 8]
我给出了两个变量horizontal_size = 3和vertical_size = 3。
我想将这个数组变成一个水平大小为h,垂直大小为v的2D数组,请简称它们为h和v。
我想要生成的结果是这样的:
0 1 2
3 4 5
6 7 8
给定1D数组中的值,该值告诉我索引,还给出了h和v(在这种情况下都为3)。有没有一种方法可以生成2D数组上的索引?
例如,1D数组中的第一个元素是0,它映射到
array[0][0]
。第二个元素是1,它映射到array[0][1]
我发现可以通过执行array1d[i] mod vertical_size
来获得垂直索引。 for getting the vertical index ::: th
0 = [0][0] 0 mod 3 = 0 1 = [0][1] 1 mod 3 = 1 2 = [0][2] 2 mod 3 = 2
3 = [1][0] 等等... 4 = [1][1] 5 = [1][2]
6 = [2][0] 7 = [2][1] 8 = [2][2]
但我不确定如何得到水平索引。