我在下面的代码片段中遇到了一些问题,我应该确定数组的最终内容:
很明显左边的1开始变为2,右边的4开始变为3循环机制;
据我所知,数组项临时在内存堆中分配这些值,并且在while循环期间项的索引已更改;
请您解释一下,作业后数字[右]和数字[]会发生什么变化?他们正在改变或改变地方吗?
我有点困惑。
谢谢,
int [] numbers = {55,22,99,67,75,100};
int left = 1;
int right = numbers.length - 2;
while (left <= right)
{
numbers[]right = numbers[]left;
left ++;
right --;
}
========================
答案 0 :(得分:0)
看起来代码中有拼写错误,应该是数字[右] =数字[左]; 执行此代码后,数组编号[]将为{55,22,99,99,22,100}。你对循环的机制是正确的。左索引正在增加,直到它等于右索引。正确的指数正在下降。您将数组元素从左索引复制到右索引。