/**
 * ReverseArray.java
 * This program reverses an integer array.
 *
 * Author: Aaron Tan
 */

class ReverseArray {

    public static void main(String[] args) {

        int[] intArray = {6, 12, 0, 7, -3, 6, 8, 10};

        System.out.print("Before: ");
        printArray(intArray);

        reverse(intArray);

        System.out.print("After : ");
        printArray(intArray);
    }

    // Reverses the array
    public static void reverse(int[] array) { 
        reverse(array, 0, array.length-1);
    }

    // Reverses the array
    private static void reverse(int[] array, 
                               int start, int finish) {
        if (start < finish) {
            int temp = array[start];
            array[start] = array[finish];
            array[finish] = temp;

            reverse(array, start+1, finish-1); 
        }
    }

    // Print the array
    public static void printArray(int[] array) {
        for (int i=0; i<array.length; i++)
            System.out.print(array[i] + " ");

        System.out.println();
    }

}



