简单数组练习-2
把一个数组的元素逆序交换。
如int[] a = { 5, 11, 15, 24, 36, 47, 59, 66,3 };交换元素后 使得数组a逆序输出即int[] a = { 3,66 ,59 ,47 ,36 ,24,15 ,11 ,5 };
分析:
实现数组的元素逆序交换可以有两种易想到方法。
方法一:新建一个数组b,使得a数组中的最后一个元素作为b数组的第一个元素,a数组中的倒数第二个元素作为b数组的第二个元素以此类推;
方法二:在数组a中直接交换,将数组a中的第一个元素直接换去最后一个元素的位置,以此类推。注意在这一种方法中操作只需要进行到 (a.length)/2
这个位置即可完成。
代码实现方法一:
public static void main(String[] args) {
int[] a = {5, 11, 15, 24, 36, 47, 59, 66, 3};
int[] b = new int[a.length];
int j = 0;
for (int i = a.length - 1; i >= 0; i--) {
b[j] = a[i];
j++;
}
System.out.println("逆序交换后数组a为:"+Arrays.toString(b));
}
代码实现方法二:
public static void main(String[] args) {
int[] a = { 5, 11, 15, 24, 36, 47, 59, 66,3 };
int temp = 0;
for (int i = 0; i < (a.length)/2; i++) {
temp = a[i];
a[i] = a[a.length - i - 1];
a[a.length - i - 1] = temp;
}
System.out.println("逆序交换后数组a为:"+Arrays.toString(a));
}