java二维数组中的代码位置

时间:2014-09-02 17:05:34

标签: java arrays encoding

我想在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) 

2 个答案:

答案 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;