gpt4 book ai didi

c++ - 如何在 C++ 中表示二维矩阵

转载 作者:行者123 更新时间:2023-11-30 01:51:02 24 4
gpt4 key购买 nike

将二维矩阵表示为数组数组更快,还是表示为具有将坐标转换为相应数组索引的函数的一维数组更快?

最佳答案

您可以创建一个一维数组和一个行指针数组。然后,您将获得两全其美的优势:具有良好内存局部性和可预测访问的便捷接口(interface)。

int *  matrix1d = new int [rows * cols];
int ** matrix2d = new int * [rows];
for (size_t i = 0; i != rows; ++i)
matrix2d[i] = &matrix1d[i * cols];

int v1 = matrix1d[r * cols + c];
int v2 = matrix2d[r][c];

关于c++ - 如何在 C++ 中表示二维矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26607985/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com