int[]list = {1, 2, 3, 5, 4}; for ( int i = 0, j = list.length - 1; i < list.length; i++, j-- ) { int temp = list[i]; list[i] = list[j]; list[j] = temp;
这里的错误在于结束条件还需要加个i<j, 只有在置换前面下标为i的元素下标小于后面元素的下标j时,
才需要进行置换,当i>j时,说明元素已完成了前后的置换。可以修改为如下:
int[]list = {1, 2, 3, 5, 4};
for ( int i = 0, j = list.length - 1; i < list.length&&i<j; i++, j-- )
{
int temp = list[i];
list[i] = list[j];
list[j] = temp;
}