c++ - 快速访问矩阵

标签 c++ c performance

我需要使用 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/

相关文章:

c++ - 为什么 std::istringstream 只能在此处与构造函数一起使用?

c++ - 如何使用带参数的构造函数创建对象

c - 指向带有 malloc 表达式的结构的指针预期错误 C

c - Scanf 空值 (ASCII)

asp.net - 对 html 控件使用 runat=server 的性能问题

c++ - 使用 SFINAE 结构定义的正确方法

c++ - 如何使模板类成为类的友元?

客户端和服务器无法通信

django url 标签性能

linux - 运行 'cat' 可以加快 Linux 机器上后续文件随机访问的速度吗?