我想在Java中用维度为[n] [n]
的二维数组编码位置我们有n行和n列,所以我想从这个角度实现
(0,0) (0,1) (0,2)
(1,0) (1,1) (1,2)
(2,0) (2,1) (2,2)
我必须得到这个结果(代码行和col以十进制结果):
(0) (1) (2)
(3) (4) (5)
(6) (7) (8)
答案 0 :(得分:1)
对于matrix[i][j]
中的二维索引和vector[index]
中的线性索引,以下关系成立。
final int n = 3; // dimension of the columns
int i = ...
int j = ...
int index = i * n + j;
i = index / n;
j = index % n;
使用整数除法和模数。
答案 1 :(得分:0)
(n * row + column)会给你那些索引。这就是你问的问题吗?
以下是代码:
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
matrix[i][j] = i*n + j;