左から右、上から下にインデックス 12 (12 番目の要素) があるとします。
私は配列[4] [4]を持っています。
1D インデックス 12 が与えられた場合、インデックス [3][2] を計算する最速の方法は何でしょうか? (1D インデックスは 1 から始まります)。
ありがとう
これが最速かどうかはわかりませんが、間違いなく簡単です。
配列[x][y]を想定
ix = floor(index / y)
iy = index % y
例:
01
23
45
x = 3
y = 2
index = 3
ix = floor(3 / 2) = 1
iy = 3 % 2 = 1
index = 5
ix = floor(5 / 2) = 2
iy = 5 % 2 = 1
与えられた a[x][y] は配列です
この式を使用してください
[index of 1d array]= (rnum * colsize) + (colnum + 1)
したがって、[3] [2]の場合colsize=4
= (3 * 4) + (2 + 1)
= 15