1

左から右、上から下にインデックス 12 (12 番目の要素) があるとします。

私は配列[4] [4]を持っています。

1D インデックス 12 が与えられた場合、インデックス [3][2] を計算する最速の方法は何でしょうか? (1D インデックスは 1 から始まります)。

ありがとう

4

2 に答える 2

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
于 2012-11-23T04:54:39.670 に答える
0

与えられた a[x][y] は配列です

この式を使用してください

[index of 1d array]= (rnum * colsize) + (colnum + 1)

したがって、[3] [2]の場合colsize=4

= (3 * 4) + (2 + 1)
= 15
于 2012-11-23T05:06:39.383 に答える