📅  最后修改于: 2023-12-03 14:54:58.267000             🧑  作者: Mango
在编程中,经常会遇到将二维数组转换为一维数组的需求。本文将介绍在 C++ 中如何进行二维数组到一维数组的转换。
int main() {
int arr2d[3][4] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
int arr1d[12];
// 将二维数组按行展开为一维数组
int index = 0;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
arr1d[index++] = arr2d[i][j];
}
}
// 输出结果
for (int i = 0; i < 12; i++) {
cout << arr1d[i] << " ";
}
return 0;
}
上述代码通过两层循环,将二维数组按行展开为一维数组。其中 index
变量用于记录当前存储位置。
int main() {
int arr2d[3][4] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
int arr1d[12];
// 将二维数组按列展开为一维数组
for (int j = 0; j < 4; j++) {
for (int i = 0; i < 3; i++) {
arr1d[i * 4 + j] = arr2d[i][j];
}
}
// 输出结果
for (int i = 0; i < 12; i++) {
cout << arr1d[i] << " ";
}
return 0;
}
以上代码通过两层循环,将二维数组按列展开为一维数组。其中 i * 4 + j
的计算方式用于确定一维数组的存储位置。
无论是按行展开还是按列展开,都可以将二维数组转换为一维数组。根据实际需求选择合适的方法。