将一维数组的索引转换为二维数组

问题描述:

如何将一维数组的索引转换为二维数组?我知道如何将二维数组转换为1D (i*the size of row+j)。我想要的是相反的。将一维数组的索引转换为二维数组

+2

你能分享一些代码和你想要实现的例子吗?由于目前的措辞有点难以遵循这个问题。 – Mureinik

指数,你需要知道的是:二维数组应该有多少列有: 可以说,你有20列和10列的一个阵列(阵列[20,10]):

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

// column == 7 
// row == 2 
+0

哦谢谢很多兄弟 –

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

array[x/n][x%n] 
+0

哦,非常感谢你的工作 –