将1D数组的索引转换为2D数组

时间:2017-01-02 20:58:34

标签: c++ arrays matrix indexing

如何将1D数组的索引转换为2D数组?我知道如何将2D数组转换为1D (i*the size of row+j)。我希望与此相反。

2 个答案:

答案 0 :(得分:2)

您需要知道的是:2D阵列应该有多少列: 假设你有一个包含20列和10行的数组(数组[20,10]):

int index  = 47;
int numberOfColumns = 20;
int column = index % numberOfColumns;
int row    = index / numberOfColumns;

// column == 7
// row    == 2

答案 1 :(得分:1)

你可以做相反的事情。如果n是行的长度,x是1D的索引。您可以索引

array[x/n][x%n]