循环后的Java数组
你能给我解释一下循环后的Java数组,java,arrays,Java,Arrays,你能给我解释一下a[i]=a[a[i]是如何工作的吗 int[] a = new int[10] for(int i =0; i < 10; i++) a[i] = 9 - i for(int i =0; i < 10; i++) a[i] = a[a[i]] for(int i =0; i < 10; i++) int[]a=新的int[10] 对于(int i=0;i
a[i]=a[a[i]
是如何工作的吗
int[] a = new int[10]
for(int i =0; i < 10; i++)
a[i] = 9 - i
for(int i =0; i < 10; i++)
a[i] = a[a[i]]
for(int i =0; i < 10; i++)
int[]a=新的int[10]
对于(int i=0;i<10;i++)
a[i]=9-i
对于(int i=0;i<10;i++)
a[i]=a[a[i]]
对于(int i=0;i<10;i++)
在第一个for循环之后
完成其执行
这是数组的外观
a[0]|a[1]|a[2]|a[3]|a[4]|a[5]|a[6]|a[7]|a[8]|a[9]
| | | | | | | | |
9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
________________________________________________
a[0]|a[1]|a[2]|a[3]|a[4]|a[5]|a[6]|a[7]|a[8]|a[9]
| | | | | | | | |
0 | 1 | 2 | 3 | 4 | 4 | 3 | 2 | 1 | 0
。。。在第二个for循环完成执行之后
这是数组的外观
a[0]|a[1]|a[2]|a[3]|a[4]|a[5]|a[6]|a[7]|a[8]|a[9]
| | | | | | | | |
9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
________________________________________________
a[0]|a[1]|a[2]|a[3]|a[4]|a[5]|a[6]|a[7]|a[8]|a[9]
| | | | | | | | |
0 | 1 | 2 | 3 | 4 | 4 | 3 | 2 | 1 | 0
更新
快速查看后,a[i]=i
与a[i]=a[i]
相同,但它不是
…第二个循环中
数组中的前四个元素将由旧数组中的最后四个元素更改,因此,由于我们更改了数组中的前四个元素,最后四个元素将与第一个元素相同,但在后向中,其工作方式与a[i]
int temp=a[i]相同;a[i]=a[temp]代码>a[i]
是一个int
,您可以使用int
通过索引查找a
的元素。最终a[i]=a[a[i]]与a[i]=i-No相同,a[i]=a[i]
将与a[i]=a[9-i]
相同。在第二个for循环完成执行后,数组看起来是这样的-不,它不会这样。请在给出错误答案之前再试一次。谢谢@BackSlash我已根据你所说的更新了我的答案