|
Hauptseite - Welches System? - Hardware - Software - Emulatoren - |
Internet MausNet Programmieren Verweise Über |
Die folgenden Beispiele zeigen das Sortieren von Feldern mittels Auswahlsort.
Sprache | C | Pascal | Modula |
---|---|---|---|
Beispiel | auswsort.c | auswsort.pas | auswsort.mod |
/* Sortieren mit direkter Auswahl des Minimums einer unsortier- */ /* ten Teilliste. Da der Datentyp erst bei einer konkreten An- */ /* wendung feststeht, ist der Sortieralgorithmus nur als Bei- */ /* spiel und nicht als Modul programmiert. */ #define MAX_SORT_ELT 8000 typedef long SortKeyType; typedef SortKeyType SortKeyArray[MAX_SORT_ELT]; void SortDirekteAuswahl(SortKeyArray Feld, int Anz) { int i,j,Min; SortKeyType Help; for (i=0; i<(Anz-1); i++) { Min = i; for (j=i+1; j
auswsort.pas
(* Sortieren mit direkter Auswahl des Minimums einer unsortier- *) (* ten Teilliste. Da der Datentyp erst bei einer konkreten An- *) (* wendung feststeht, ist der Sortieralgorithmus nur als Bei- *) (* spiel und nicht als Modul programmiert. *) const MaxSortElt = 8000; type SortKeyType = long_integer; SortKeyArray = array[1..MaxSortElt] of SortKeyType; procedure SortDirekteAuswahl(var Feld:SortKeyArray; Anz:integer); var i, j, Min : integer; Help : SortKeyType; begin for i:=1 to (Anz-1) do begin Min := i; for j:=i+1 to Anz do begin if (Feld[j] < Feld[Min]) then begin Min := j; end; end; Help := Feld[i]; Feld[i] := Feld[Min]; Feld[Min] := Help; end; end;
auswsort.mod
(* Sortieren mit direkter Auswahl des Minimums einer unsortier- *) (* ten Teilliste. Da der Datentyp erst bei einer konkreten An- *) (* wendung feststeht, ist der Sortieralgorithmus nur als Bei- *) (* spiel und nicht als Modul programmiert. *) CONST MaxSortElt = 8000; TYPE SortKeyType = LONGINT; SortKeyArray = ARRAY[1..MaxSortElt] OF SortKeyType; PROCEDURE SortDirekteAuswahl(VAR Feld:SortKeyArray; Anz:CARDINAL); VAR i, j, Min : CARDINAL; Help : SortKeyType; BEGIN FOR i:=1 TO (Anz-1) DO Min := i; FOR j:=i+1 TO Anz DO IF (Feld[j] < Feld[Min]) THEN Min := j; END; END; Help := Feld[i]; Feld[i] := Feld[Min]; Feld[Min] := Help; END; END DirekteAuswahl;
![]()
English version not yet available.
Änderungen und Irrtümer vorbehalten. Letzte Änderung:
14 September 2001.
Home - Mail an den Webmaster - Impressum