Moin Brutus,
den Fehler beim Minsort hab' ich inzwischen auch gefunden:
Die Schleifen müssen rückwärts laufen, da man bei diesem Verfahren ja je Durchlauf immer den grössten Wert ans Ende packt.
Ersatzweise könntest Du das Verfahren wahrscheinlich auch umdrehen, also immer den kleinsten Wert je Durchlauf an den Anfang legen.
Mit diesen Schleifen läuft es:
Delphi-Quellcode:
FOR a:= 8 downto 0 DO
// und
FOR i:= 9 downto a+1 DO