我有一个2D数组,如下所示:
0 1 2 3 4
0 [4, 5, 6, 7, 9]
1 [9, 2, 1, 6, 4]
2 [0, 0, 0, 0, 0]
3 [8, 7, 6, 4, 1]
4 [0, 0, 0, 0, 0]
我想更改行的顺序,然后更改列,使它们与原始顺序匹配,即(1,1)将保持为2.因此,当我交换行时,我得到:
0 1 2 3 4
2 [0, 0, 0, 0, 0]
4 [0, 0, 0, 0, 0]
0 [4, 5, 6, 7, 9]
1 [9, 2, 1, 6, 4]
3 [8, 7, 6, 4, 1]
我可以在代码中执行此操作。但我无法解决的问题是如何根据开关更改列。所以最后我想:
2 4 0 1 3
2 [0, 0, 0, 0, 0]
4 [0, 0, 0, 0, 0]
0 [6, 9, 4, 5, 7]
1 [1, 4, 9, 2, 6]
3 [6, 1, 8, 7, 4]
原始行 - >列索引映射仍然存在。谁能给我一些关于如何处理这个问题的提示?
答案 0 :(得分:1)
这是我对某些伪代码的建议,它可以解决你的问题:
永远不要删除旧表, 你可以很容易地引用它来重新填充新的 表
答案 1 :(得分:0)
请记住,2D数组只是一个数组数组。你所谓的列实际上并不是结构的一部分,而是每个数组中的相同位置。要切换列,您需要在每个阵列中切换相同的位置。