我有这个数组:
int[][][] D = new int[N][M][2];
我的问题是:如何交换D[N][M][0]
和D[N][M][1]
(它不是交换两个元素,而是交换整个数组)。它可能看起来很傻,但我无法想象三维数组是如何组织的,所以我不知道哪个是最好的方法来复制它。而且,我不确定D[N][M][0]
和D[N][M][1]
在内存中是否连续两个块?如果没有,那么我应该这样做:
int[][][] D = new int[2][N][M]
对吧?
谢谢:)
答案 0 :(得分:1)
D[N][M][0]
只是一个int
。整行都在此引用D[N][M]
下,因此要交换行,请执行以下操作:
int[] tmp = D[N][M];
D[N][M] = D[N][M+1];
D[N][M+1] = tmp;