Hallo zusammen!
Ich wollte als kleine Übung den Quicksort-Algorithmus in JS implementieren, um damit Tabellen zu sortieren.
Leider studiere ich nun schon seit Stunden weshalb er nicht funktioniert. Man muss ihn immer mehrere Male ausführen (ca. 5 mal), bis die Tabelle sortiert ist (126 Einträge). Ich sehe einfach keinen Fehler bei der Implementation... Hab ihn mal durch Bubblesort ersetzt, dann hat es super funktioniert.
Könnt ihr mir helfen?
Liebe Grüsse
Adi
PS: Wenns dann mal funktioniert, werde ich den Algorithmus noch optimieren.
HTMLTableSectionElement.prototype.quicksort = function (lo, hi, k) {
var l = lo;
var r = hi;
var p = this.rows[r].getText(k);
while (l < r) {
while (l<r && this.rows[l].getText(k) < p) l++;
while (l<r && this.rows[r].getText(k) >= p) r--;
if (l < r) this.exchRows(l,r);
}
this.exchRows(r,hi);
this.quicksort(lo, r-1, k);
this.quicksort(r+1, hi, k);
}