所以我想说我有一个二维数组:
1A 2A 3A 4A
1B 2B 3B 4B
1C 2C 3C 4C
1D 2D 3D 4D
1E 2E 3E 4E
我想迭代这个2-d数组,并创建一个新的1维数组,如下所示:
1A, 2A, 1B, 3A, 2B, 1C, etc...
更好地想象它,
1A
2A
1B
3A
2B
1C
4A
3B
2C
1D
4B
3C
2D
1E
4C
3D
2E
4D
3E
4E
有人为此提供了很好的解决方案吗?
答案 0 :(得分:1)
这只是一些伪代码,但似乎有效:
X=0;
y=1;
out = array[0][0]
while ( (X!=MAX) && (y!=MAX) ) // MAX = maximum size of the array and assumes a square array //
{
yy=y;
xx=x;
while ( (X!yy) && (y!=xx) )
{
out = array[xx][yy]
XX = XX + 1
yy = YY + 1
}
out = array[xx][yy]
if (y != MAX)
y = y + 1
else
x = x + 1
}
out = array[MAX][MAX]