Ich habe versucht Quicksort zu implementieren, habe aber Fehler in der Implementierung. Es kommen immer ArrayIndexOutOfBounce Exceptions hoch, ich finde aber leider seit über 2 Stunden den Fehler nicht.
Wenn ich i=l setze, also die -1 weg, läuft das Programm zwar ohne Fehler, aber die Lösung ist falsch.
Es wäre sehr nett, wenn mir jemand Input geben könnte.
Danke vorab u. Gruß
Wenn ich i=l setze, also die -1 weg, läuft das Programm zwar ohne Fehler, aber die Lösung ist falsch.
Es wäre sehr nett, wenn mir jemand Input geben könnte.
Danke vorab u. Gruß
Java:
public class T1 {
public static void Quicksort(int [] a, int l, int r) {
int pivot;
int i;
int j;
int buffer;
if(r>l) {
pivot = a[r];
i = l-1;
j = r;
while(j<=i) {
while(a[i] >= pivot) {
i++;
}
while(a[j] <= pivot) {
j--;
}
if(i<j) {
buffer = a[j];
a[j] = a[i];
a[i] = buffer;
}
}
buffer = a[r];
a[r] = a[i];
a[i] = buffer;
Quicksort(a,l,i-1);
Quicksort(a,i+1,r);
}
}
public static void main(String [] args) {
int [] a = new int[] {1,5,3,4,2};
Quicksort(a,0,a.length-1);
for(int i=0; i<a.length; i++) {
System.out.print(a[i]);
}
}
}