我有这个数组:
int[][][] D = new int[N][M][2];
我的问题是:如何交换 D[N][M][0]
和 D[N][M][1]
(不是交换两个元素,而是交换整个数组)。这可能看起来很愚蠢,但我无法想象 3 维数组是如何组织的,所以我不知道哪种是复制它的最佳方法。此外,我不确定 D[N][M][0]
和 D[N][M][1]
是否在内存中连续两个 block ?如果没有,那么我应该这样做:
int[][][] D = new int[2][N][M]
对吗?
谢谢:)
最佳答案
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;
关于Java:交换两行3维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14296933/