我有,
int[10] oneDim = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, index = 0;
如图所示这里,我们创建一个从原点的二维之一。但是,如何迭代oneDim
内部,for (index = 0; index < 10; index++)
以便可以在 其中 创建 列索引* 和 行索引 而又不 创建新 索引 呢?我希望将其索引打印到二维数组
(2x5) 时看起来像这样: __
*
0,0
0,1
1,0
1,1
2,0
2,1
3,0
3,1
4,0
4,1
我认为这里的主要问题是获取 列索引 和 行索引 而没有创建二维 索引 。是不是
如果要以行为主的顺序,给定row rowIndex
,column
columnIndex
并且伪造(缺乏更好的术语)带有numberOfColumns
列的二维数组,则公式为
rowIndex * numberOfColumns + columnIndex.
如果要以行为主的顺序,给定row rowIndex
,column
columnIndex
和伪造(缺少更好的术语)带有numberOfRow
行的二维数组,则公式为
columnIndex * numberOfRows + rowIndex.
因此,假设行顺序为:
int[10] oneDim = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int rows = 2;
int columns = 5;
for (int row = 0; row < rows; row++) {
for (int column = 0; column < columns; column++) {
System.out.println(row + ", " + column + ": " + oneDim[row * columns + column]);
}
}
输出:
0, 0: 1
0, 1: 2
0, 2: 3
0, 3: 4
0, 4: 5
1, 0: 6
1, 1: 7
1, 2: 8
1, 3: 9
1, 4: 10
并且如果您坚持使用单循环进行索引for
(假设行优先),则所需的公式如下:
int column = index % numberOfColumns;
int row = (index - column) / numberOfColumns;
如果您使用的是列优先顺序,则所需的公式如下:
int row = index % numberOfRows;
int column = (index - row) / numberOfRows;
所以,
int[10] oneDim = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int rows = 2;
int columns = 5;
for(int index = 0; index < 10; index++) {
int column = index % columns;
int row = (index - column) / columns;
System.out.println(row + ", " + column + ": " + oneDim[index]);
}
将输出
0, 0: 1
0, 1: 2
0, 2: 3
0, 3: 4
0, 4: 5
1, 0: 6
1, 1: 7
1, 2: 8
1, 3: 9
1, 4: 10
如预期的那样。
问题内容: 我已经有了用于将一维二维转换为一维二维的代码,但是我不知道如何将其转换。这是我的代码: 问题答案: 您正在寻找类似的东西: 与以下内容相同: 但试图帮助进一步解释这个概念。
问题内容: 假设您具有以下数组: 您将如何将其转换为XML字符串,使其看起来像: 一种方法是通过类似如下的递归方法: 我正在寻找一种使用迭代的方法。 问题答案:
问题内容: 我想通过指定2D数组中的列数将一维数组转换为二维数组。可能会像这样工作: numpy是否具有与我的虚构函数“ vec2matrix”相似的功能?(我知道您可以像2D数组一样索引1D数组,但这不是我拥有的代码中的选项- 我需要进行此转换。) 问题答案: 您要阵列。 其中,根据输入数组的大小推断新维的大小。
本文向大家介绍将二维数组转为一维数组的2种方法,包括了将二维数组转为一维数组的2种方法的使用技巧和注意事项,需要的朋友参考一下 如何将下面的二维数组转为一维数组。 第一种方法: 第二种方法: 以上两种解法print_r($names);后的结果为: 注意:array_column();可以有第三个参数,如 $n = array_column($msg, 'name', 'id'); print_r
问题内容: 我有这种数组 我需要将其转换为一维数组。我怎样才能做到这一点? 例如这样 任何内置函数的php均可用于此数组转换? 问题答案: 对于您有限的用例,可以这样做: 当子数组对此有很多条目时,可以将其更一般化:
定义为一维数组,定义为二维数组,但这一行为是两个夜晚。原因是什么? 以及该代码的输出: