Hallo Luckie,
ich sitze gerade leider nicht am richtigen Rechner, aber vielleicht solltest Du das Problem in zwei Teile teilen.
Das Grundgerüst des Bubblesort sieht ja wie folgt aus:
Delphi-Quellcode:
Procedure BubbleSort;
var i,j : Integer;
Begin
For i:= N downto 1 Do
For j:= 1 To i Do
If (Data[j-1] > Data[j]) Then SwapValues( j-1, j );
End;
Ich habe ja fast den verdacht, dass Deine Wrapperklasse da irgendwo einen Index durcheinanderbringt.
Wenn ich am richtige PC bin, schaue ich mir mal Deinen Code an, aber so allgemein würde ich erstmal raten, die Vertauschungen in beispielsweise einem Memo zu loggen, so dass Du Schritt für Schritt siehst, was da vertauscht wird.
Daniel R. Wolf
mit Grüßen aus Hamburg