Also ich hab bei meinem BubbleSort-Algo eine Verzögerungsprozedur eingebaut, damit man sieht, wie er sortiert.
Das ist die BubbleSort-Prozedur:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| repeat nichtvertauscht:=true; for i:=0 to Length(Folge)-2 do if Folge[i] > Folge[i+1] then begin Tausche(Folge[i], Folge[i+1]); nichtvertauscht:=false; Delay(SEDelay.Value); <-- Aufruf der Delay-Prozedur end; until nichtvertauscht; |
und das die Delay-Prozedur:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure Delay(MSeconds : Longint); var FTickCount : Longint; Begin FTickCount := GetTickCount; Repeat Application.ProcessMessages; Until ((GetTickCount-FTickCount) >= MSeconds); end; |
Leider funktioniert es nur insofern, als dass er immer nur die vollständige Sortierung verzögert, das heißt er sortiert und gibt es verzögert aus, er soll aber verzögert sortieren, und währenddessen ausgeben..
Woran liegt das?
Thx 4 help
