给定一个数组,对其进行反转。 如下:
{1,2,3,4,5,6}
-->
{6,5,4,3,2,1};
刚开始的想法是新建一个数组,从旧数组的最后一个值遍历到最前一个值赋值给新数组。
后来大拍脑袋,其实不就是以中间为轴,轴对称的两个数交换吗~~~~
- class ArrayTest {
- public static void printArray(int[] arr) {
- System.out.print("[");
- for(int x=0; x<arr.length; x++)
- {
- if(x!=arr.length-1)
- System.out.print(arr[x]+", ");
- else
- System.out.println(arr[x]+"]");
- }
- }
-
- public static void main(String[] args)
- {
- int[] arr = {4,1,8,7,3,8,2};
- printArray(arr);
- reverseArray(arr);
- printArray(arr);
- }
-
- public static void reverseArray(int[] arr) {
- for(int start=0,end=arr.length-1; start<end; start++,end--)
- {
- swap(arr,start,end);
- }
- }
-
- public static void swap(int[] arr,int a,int b) {
- int temp = arr[a];
- arr[a] = arr[b];
- arr[b] = temp;
- }
- }
复制代码
|
|