Asa*_*Rao 12
public static int[] reverseArrayWithoutTempArray(int[] array) {
int i = 0, j = array.length - 1;
for (i = 0; i < array.length / 2; i++, j--) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
return array;
}
Run Code Online (Sandbox Code Playgroud)
pax*_*blo 10
家庭作业只是来自我的伪代码,你通过不指定你想要的语言而相对容易:-)
把它变成你选择的语言:
Set i1 to index of first element in array
Set i2 to index of last element in array
while i1 < i2:
Set temporary variable to element number i1
Set element number i1 to element number i2
Set element number i2 to temporary value
Add 1 to i1
Subtract 1 from i2
Run Code Online (Sandbox Code Playgroud)
理想的做法是在头脑中实际运行该算法,使用一张纸来跟踪变量:
i1和i2.temporary variable.我倾向于为更简单的算法做到这一点.更难的我插入调试语句,以便计算机可以为我做那些笨拙的工作.从一张纸开始,这样:
i1 | i2 | tempvar | el[0] | el[1] | el[2] | el[3] | el[4] | el[5]
---+----+---------+-------+-------+-------+-------+-------+------
H e l l o !
Run Code Online (Sandbox Code Playgroud)
然后逐个执行这些步骤,检查和/或更改每个列.这将使您了解它的工作方式远比给出一些代码更好.