Einleitung:
Die Funktionsweise von Minsort
Minsort oder auch "Sortieren durch Auswahl" ist ein einfacher Sortieralgorithmus, der zum
Sortieren kleinerer Datenmengen eingesetzt wird.
Allgemeines Prinzip:
Finde zunächst das kleinste Element im zu durchsuchenden Feld (Array)
und tausche dieses gegen das an der ersten Stelle befindliche Element aus.
Finde anschließend das zweitkleinste Element, tausche dieses gegen
das zweite aus usw. . Der nicht sortierte Bereich wird so immer kleiner.
Fahre so fort, bis der nicht sortierte Bereich nur noch ein Element enthält.
Zurück
(1)procedure TSortFeld.minsort; (2) var i,kleinste,schon_sortiert : integer; (3)begin (4) for schon_sortiert := 0 to h_anzahl-1 do (5) begin (6) kleinste := schon_sortiert; (7) for i := schon_sortiert+1 to h_anzahl-1 do (8) if h_feld[i].LessThan(h_feld[kleinste]) (9) then kleinste := i; (10) Exchange(schon_sortiert,kleinste); (11) end; (12)end; |
(1)------------------------------------------------------------------------------------------------------------------------------------- (2) i : Zählvarriable/kleinste : das vorläufig kleinste Element/ schon_sortiert : 1.Element des Sortierbereichs (3)-------------------------------------------------------------------------------------------------------------------------------------(4)Die äußere Zählschleife wird eingeleitet vom Feldanfang bis zum Feldende/ Sortierte Elemente wird auf Null gesetzt(durch die Schleife wird nach jedem Austausch der Sortierbereich verkleinert, indem das 1.Elem. des Sortierbereiches um 1 erhöht wird) (5)-------------------------------------------------------------------------------------------------------------------------------------(6)"kleinste" wird der Wert von "schon_sortiert" zugewiesen Hiermit wird, für den Anfang des Schleifendurchlaufs, das 1. Element des Sortierbereichs als (vorläufig)kleinstes angenommen (7)Die innere Zählschleife wird eingeleitet um mit dem Suchzeiger das kleinste Elem. im Sortierbereich zu finden (8)wenn das aktuelle Element kleiner als das (vorläufig) kleinste ist (9)dann ist das aktuelle Element jetzt das (vorläufig) kleinste (10)Eine Austauschprozedur wird aufgerufen, wenn der Suchzeiger am Ende des Sortierbereichs ist, sie tauscht das jetzt (vorläufig) kleinste Element mit dem 1.Element des Sortierbereichs (11)-----------------------------------------------------------------------------------------------------------------------------------(12)----------------------------------------------------------------------------------------------------------------------------------- |
![]() |
|
![]() |
|
![]() |
Zur
nächsten Seite
![]() |
© 2000 LK 12 If und G. Kubitz | Hannah-Arendt-Gymnasium, Lengerich |