Hi,
ich hoffe mir kann jemand helfen. Ich habe einen Quicksort-Algorithmus und möchte dort mit einem zufällig generierten Pivotelement sortieren. Jedoch sortiert er mir mein Array immer falsch. Hier ist meine Methode für das Sortieren:
void qsort(int start, int end) {
int pivot, i, j;
if (end > start) {
i = start;
j = end - 1;
pivot = arr[(int) (start + (Math.random() * ((end - start))))].key();
while (true) {
while (arr**.key() < pivot)
{
i++;
}
while ((j >= 0) && (arr[j].key() >= pivot))
{
j--;
}
if (i >= j)
break;
swap(i, j);
}
swap(i, end);
qsort(start, i - 1);
qsort(i + 1, end);
}
}
Ich habe leider keine Ahnung was ich falsch mache. Danke schon mal :).
VG Marco