Wiesel Geschrieben 16. September 2003 Geschrieben 16. September 2003 ich bin mir nicht sicher aber ich glaube ich habe in dem programmabschnitt eine endlosschleife drinne. schaut mal bitte drüber, bräuchte da dringend hilfe ! danke und schöne grüße, wiesel. void Quick::quicksort(int von, int bis) { int pivot = Array[(von+bis) / 2]; int temp = 0; int l = von; int r = bis; while (l < r) { while (Array[l] < pivot) { l++; } while (Array[r] > pivot) { r--; } if (l < r) { temp = Array[r]; Array[r] = Array[l]; Array[l] = temp; } } if (von < r) { quicksort(von, r); } if (bis > l) { quicksort(l, bis); } } Zitieren
mixki Geschrieben 19. September 2003 Geschrieben 19. September 2003 Natürlich ist da eine Endlosschleife drin. l wird doch nie größer/gleich r... Add doch einfach 2 auf l nach der letzten if-Abfrage Oder du mußt bei der Abfrage von pivot ein größer/gleich einsetzen Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.