gpt4 book ai didi

C++将二维整数数组插入另一个二维整数数组

转载 作者:行者123 更新时间:2023-11-28 03:12:18 25 4
gpt4 key购买 nike

我想将二维数组插入到另一个二维数组中——两者都是整数。第一个比第二个小那么没有尺寸误差。较大的部分有数据,例如它自己的中间部分,第二部分没有数据。我想在这些数据的中间插入第二个数组,这样我就需要将更大的数据下推,这意味着复制非零部分覆盖零数据。如果有人能以最有效的方式提供相关代码,我们将不胜感激。例如:

int A[4][2] = {{1, 2} , {3, 4} , { 0, 0} , {0, 0} };
int B[2][2] = {{5, 6} , {7, 8}};

我想将 B 插入到 A 中(在第一行和第二行之间)并将第二行向下插入第三行。然后我们有:

 int A[4][2] = {{1, 2} ,{5, 6} , {7, 8} , {3, 4} };

我想在不使用嵌套循环的情况下执行此操作。

最佳答案

C++ 中的数组是固定大小的——因此无法将数据“下推”到数组中,从而改变其大小。您只能复制内容,覆盖(部分)目标数组,但保留相同的大小。

如果你想这样做,你需要使用允许改变大小的东西(比如 std::vector),或者创建一个所需大小的新数组并复制数据进入:

int C[6][2];
std::copy(A, A+2, C);
std::copy(B, B+2, C+2);
std::copy(A+2, A+4, C+4);

关于C++将二维整数数组插入另一个二维整数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18108425/

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