{ Select.Inc } { Sortierverfahren: Select-Sort } { Uebergabeparameter: } { Class (das Array vom Typ StudentArray) } { ClassSize (Letzte Datensatznummer) } { Vordefiniert muss sein: } { StudentArray (TYPE StudentArray= Array Of ...)} { Student (Datentyp) } { Aufruf: } { SelectSort (DatenArray, letzter Datensatz) } Procedure SelectSort (Var Class: StudentArray; ClassSize: Integer); Var i, j, {Schleifenvariablen} IndexOfMax: Integer; {Groesster Wert} Procedure Switch (Var Stu1, Stu2 : Student); { Vertauscht Inhalt von zwei Variablen } Var TempStu: Student; { Austauschvariable } Begin {Switch} TempStu:=Stu1; Stu1:=Stu2; Stu2:=TempStu; End; {Switch} Begin {SelectSort} For i:=ClassSize DownTo 2 Do Begin IndexOfMax:=i; For j:=i-1 DownTo 1 Do If Class[j] > Class[IndexOfMax] Then IndexOfMax:=j; If IndexOfMax<>i Then Switch (Class[i], Class[IndexOfMax]); End; End; {SelectSort} { Ende Select.Inc }