这听起来像是一个家庭作业问题,但我发誓不是。
我正在尝试为这个二维数组包装类构建一个迭代器。我想如果我能够解决这个问题,那么我可以构建我的迭代器。
我有这个从 0 开始到 8 结束的 9 个连续整数的一维数组。
[0, 1, 2, 3, 4, 5, 6, 7, 8]
我有两个变量horizontal_size = 3
和vertical_size = 3
我想把这个数组变成一个二维数组,即horizontal_size
. 为了简洁起见,vertical_size
让我们称呼他们。h
v
我想要生成的结果是这样的:
0 1 2
3 4 5
6 7 8
给定一维数组中的值,它告诉我索引,也给定h
和v
,在这种情况下都是 3。有没有办法在二维数组上生成索引?
例如,一维数组中的第一个元素是 0,它映射到array[0][0]
. 第二个元素是 1,它映射到array[0][1]
我发现我可以通过array1d[i] mod vertical_size
.
for getting the vertical index ::: th
0 = [0][0] 0 模 3 = 0 1 = [0][1] 1 模 3 = 1 2 = [0][2] 2 模 3 = 2
3 = [1][0] 以此类推... 4 = [1][1] 5 = [1][2]
6 = [2][0] 7 = [2][1] 8 = [2][2]
但我不确定如何获得水平索引。