gpt4 book ai didi

java - 移动二维数组中的特定列

转载 作者:行者123 更新时间:2023-12-02 03:49:27 25 4
gpt4 key购买 nike

我能大致了解一下移动 2D 数组的特定列吗?我通过双 for 循环填充了数组,但是我不知道如何解决这个问题。我不一定需要代码。我只是需要一种思维方式来接近。

我还有一个问题。 array.length 打印出数组的长度,但我在互联网上看到,人们使用:

for (int i=0; i<array.length; i++)
{
for (int j=0; j<array[i].length; j++)
array[i][j] =(int)(Math.random()*((9)+1));
}

array[i].length 的功能是什么?

最佳答案

具体到你的问题, array[i].length 是“维度 1”的“维度 2”的长度。具体来说,二维数组不是“网格”,它是一个实际的排序表。如果您考虑一个数据表,每一行都是一个“条目”(通常是元组或有序集合),如果您放入第一个维度,您将获得整行,然后第二个维度会完善您的选择。这可以垂直完成,但数据通常是从左到右读取的,因此您引用一行。

外循环是维度 i,然后对于给定维度 i,将其作为维度 j 进行遍历。

基本上,int x[i][j] 是一个包含 i 个数组的数组,其中包含 j 个整数。

    1    2    3   ...    i
1
2
3
...
j

这里的安排纯粹基于您选择如何使用它,因为您可以交换图中的 i 和 j 且不做任何更改,您只需一致地处理它(行必须始终是行,等等)。

根据您如何逻辑排列数据,您的问题有两个答案之一。如果列是您的 dim1,那么您只需将其交换为一维数组即可。这是因为每个数组本身就是一个容器,因此您可以移动整个容器。

    1      >>      2    3   ...    i
1 shift
2 shift
3 shift
... ....
j shift

如果您尝试在第二个维度上执行此操作...您应该能够通过迭代每个“第二个”维度并在内部将每个数组移动 1 来完成此操作。

    1    2    3   ...    i
1
VV sh sh sh sh
2
3
...
j

关于java - 移动二维数组中的特定列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36002971/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com