数组反转思路:如果数组元素个数为奇数,则中间位置元素不需要移动;如果数组元素个数为偶数,则不存在中间位置的元素。所以无论数组元素个数是奇数还是偶数,都只需要成对的交换到数组两端距离相等的两个元素。
测试数组
{1,2,3,4,5,6,7,8,9}
反转后
{9,8,7,6,5,4,3,2,1}
源码
package compute;
/**
* 数组反转
* @Author gzx @create 2022-1-26
*/
public class ArrayReversion {
public static void main(String[] args) {
int[] is= {1,2,3,4,5,6,7,8,9};
is = reverse(is);
for(int e:is) {
System.out.print(e+" ");
}
}
public static int[] reverse(int[] ints) {
int len=ints.length;
/*用于交换*/
int ex;
/*如果数组元素个数为奇数,则中间位置元素不需要移动;如果数组元素个数为偶数,则不存在中间位置的元素,所以数组元素个数不管是奇数还是偶数,都能成对地交换其位置*/
for (int i = 0; i <len/2; i++) {
ex=ints[len-i-1];
ints[len-i-1]=ints[i];
ints[i]=ex;
}
return ints;
}
}
运行结果
9 8 7 6 5 4 3 2 1