Hi @ all,
Hab da kurz eine Frage:
In Java wird ja alles per Value übergeben und nicht per Reference. So auch ein Array.
Da der Wert eines Arrays aber die Referenz dazu ist, wird quasi doch per Reference übergeben.
Wie erstelle ich nun am besten ein Copy eines Arrays ?
Zur Verdeutlichung meines Problems:
Erklärung:
Man sieht hier das Erstellen eines neues Arrays, und die übergabe an mehrere Sortiermethoden. Nach der ersten Sortiermethode ist das Array allerdings sortiert. Eigentlich okay, aber ich möchte mit dem Anfangszustand in die nächste Methode..
Die Methoden sollten also das Array für sich kopieren und sortieren. Und nicht verändern..
Versteht man mein Problem ?
Wie übergebe ich nun eine Kopie des Arrays ?
Hab da kurz eine Frage:
In Java wird ja alles per Value übergeben und nicht per Reference. So auch ein Array.
Da der Wert eines Arrays aber die Referenz dazu ist, wird quasi doch per Reference übergeben.
Wie erstelle ich nun am besten ein Copy eines Arrays ?
Zur Verdeutlichung meines Problems:
Code:
public static void main(String[] args) {
int[] array = { 55, 07, 78, 12, 42, 43, 51, 1, -1, 6, 3, 18 };
// int[] array = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
// int[] array = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
for (int a : array) {
System.out.println(a);
};
System.out.println("Die Anzahl durchläufe im Bubblesort sind " + bubbleSort(array));
System.out.println("Die Anzahl durchläufe im Quicksort sind " + quickSort(array, 0, array.length-1, 0));
System.out.println("Die Anzahl durchläufe im Bucketsort sind " + bucketSort(array, 80));
System.out.println("Die Anzahl durchläufe im Insertionsort sind " + insertionSort(array));
System.out.println("Die Anzahl durchläufe im Mergesort sind " + mergesort(array, 0, array.length-1));
for (int a : array) {
System.out.println(a);
};
// InsertionSort(n*n), SelectionSort(n*n) RadixSort, BucketSort(n+m=n),QuickSort(n*n)(best: n*logn), HeapSort(n*log n), MergeSort(n*log n)
Erklärung:
Man sieht hier das Erstellen eines neues Arrays, und die übergabe an mehrere Sortiermethoden. Nach der ersten Sortiermethode ist das Array allerdings sortiert. Eigentlich okay, aber ich möchte mit dem Anfangszustand in die nächste Methode..
Die Methoden sollten also das Array für sich kopieren und sortieren. Und nicht verändern..
Versteht man mein Problem ?
Wie übergebe ich nun eine Kopie des Arrays ?