我需要使用 C++ 代码访问二维矩阵。如果矩阵是 mat[n][m]
,我必须访问(在 for 循环中)这些位置:
mat[x][y], mat[x-1][y-m-1], mat[x-1][y], mat[x][y-1]
在下一次迭代中我必须做的:
x=x+1
然后,再次:
mat[x][y], mat[x-1][y-m-1], mat[x-1][y], mat[x][y-1]
让这些位置在内存中最近以加速我的代码的最佳方法是什么?
最佳答案
如果您要水平迭代,请将您的矩阵排列为 mat[y][x],尤其是当它是一个数组数组时(矩阵的布局在您的答案中不明确)。
关于c++ - 快速访问矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22638323/