Java:交换两行3维数组

标签 java multidimensional-array

我有这个数组:

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/

相关文章:

java - "context"在上下文(不)敏感的分析中到底意味着什么?

python - 我可以使用 numpy 在 python 中将矩阵作为命令行输入传递吗?

arrays - Scala 中的 6 维或更多维数组

java - 查找数组中的多个众数

java - GWT : fileUpload. getFileName() & fakepath

java - 尝试将 Spring 应用程序制作为 Web MVC

C 二维数组输入

java - 如何检测超声波?

PHP - 递归数组到对象?

c - 在 C 中调整二维数组的大小