Hallo, liebe Java-Forengemeinde 
Ich bin Medieninformatik-Student im zweiten Semester und habe mittlerweile dementsprechend bereits ein Semester Java gehabt. Jetzt ist das Modul Algorithmen dazugekommen, in dem wir als eine Art Hausaufgabe Quicksort programmieren sollen.
Mein Problem ist jetzt, dass ich zwar bereits den Code und auch eine JUnit-Klasse habe, die den Code eigentlich testen sollte, ich im Endeffekt aber keine Ausgabe bekomme. Der Compiler meckert nicht rum, der Code sollte so eigentlich stimmen (außer, ich hab etwas Signifikantes übersehen).
Meine Frage also: Warum kriege ich das sortierte Array nicht zurück? Ich hoffe, ihr könnt mir helfen =)
Hier der Code:
Ich bin Medieninformatik-Student im zweiten Semester und habe mittlerweile dementsprechend bereits ein Semester Java gehabt. Jetzt ist das Modul Algorithmen dazugekommen, in dem wir als eine Art Hausaufgabe Quicksort programmieren sollen.
Mein Problem ist jetzt, dass ich zwar bereits den Code und auch eine JUnit-Klasse habe, die den Code eigentlich testen sollte, ich im Endeffekt aber keine Ausgabe bekomme. Der Compiler meckert nicht rum, der Code sollte so eigentlich stimmen (außer, ich hab etwas Signifikantes übersehen).
Meine Frage also: Warum kriege ich das sortierte Array nicht zurück? Ich hoffe, ihr könnt mir helfen =)
Hier der Code:
Java:
public class Quicksort {
public static int[] quicksort(int[] array) {
quickSort(array, 0, array.length - 1);
return array;
}
public static void quickSort(int[] zahlen, int links, int rechts) {
int i = links;
int j = rechts;
if (j > i) {
int pivot = zahlen[zahlen.length / 2];
while (i < j) {
while (zahlen[i] < pivot && i <= j) {
i++;
} // zweite while-Schleife
while (zahlen[j] > pivot && i <= j) {
j--;
} // dritte while-Schleife
if (i < j) {
austauschen(zahlen, zahlen[i], zahlen[j]);
} // zweite if-Bedingung
} // erste while-Schleife
austauschen(zahlen, pivot, zahlen[i]);
quickSort(zahlen, links, j - 1);
quickSort(zahlen, j + 1, rechts);
} // erste if-Bedingung
else {
return;
}
} // quicksort
public static void austauschen(int[] array, int stellei, int stellej) {
int temp = stellei;
stellei = stellej;
stellej = temp;
} //austauschen
} // Quicksort
Zuletzt bearbeitet: