Reverse-ein array in Java

Ich versuche ein array in umgekehrter 2 Möglichkeiten:

1) erstellen Sie ein neues array zurück, das war sehr einfach:

public static int[] reverse(int[] array) {
    int[] reverseArray = new int[array.length];
    for(int i = 0; i < reverseArray.length; i++) {
        reverseArray[i] = array[array.length - i - 1];
    }
    return reverseArray;
}

2) Die zweite Methode, ich habe meine Antwort, aber ich verstehe eigentlich nicht, dass es sehr gut ist, macht es wirklich benutzen zu tauschen, was den Wert des Arrays in eine temporäre variable ist, dann ändert es und gibt es zurück auf die ursprüngliche variable:

public static int[] reverse2(int[] array)
{
    for (int i=0; i < array.length / 2; i++)
    {   
        int temp = array[i];
        array[i] = array[array.length - i - 1];
        array[array.length - i - 1] = temp;
    }
    return array;
}

Könnte mir das mal jemand erklären mit dem zweiten code?
Ich verstehe nicht, die division durch 2?
Was passiert, wenn die array-Größe ist schon merkwürdig oder?

InformationsquelleAutor Ralph | 2012-11-20
Schreibe einen Kommentar