|
Hauptseite - Welches System? - Hardware - Software - Emulatoren - |
Internet MausNet Programmieren Verweise Über |
Die folgenden Beispiele zeigen das Sortieren von Feldern mittels Bubblesort. Der Algorithmus erkennt ein sortiertes Feld und beendet in diesem Fall die Sortierung.
Sprache | C | Pascal | Modula |
---|---|---|---|
Beispiel | bub2sort.c | bub2sort.pas | bub2sort.mod |
/* Sortieren mit Bubblesort und Erkennung eines bereits sortier- */ /* ten Felds. Da der Datentyp erst bei einer konkreten Anwendung *7 /* feststeht, ist der Sortieralgorithmus nur als Beispiel und */ /* nicht als Modul programmiert. */ #define MAX_SORT_ELT 8000 typedef long SortKeyType; typedef SortKeyType SortKeyArray[MAX_SORT_ELT]; void SortBubblesort2(SortKeyArray Feld, int Anz) { int i, j, Flag; SortKeyType Help; i = 0; Flag = 0; while ((ii; j--) if (Feld[j-1] > Feld[j]) { Flag = 0; Help = Feld[j-1]; Feld[j-1] = Feld[j]; Feld[j] = Help; } i++; } }
(* Sortieren mit Bubblesort und Erkennung eines bereits sortier- *) (* ten Felds. Da der Datentyp erst bei einer konkreten Anwendung *) (* feststeht, ist der Sortieralgorithmus nur als Beispiel und *) (* nicht als Modul programmiert. *) const MaxSortElt = 8000; type SortKeyType = long_integer; SortKeyArray = array[1..MaxSortElt] of SortKeyType; procedure SortBubblesort2(var Feld:SortKeyArray; Anz:integer); var i, j : integer; Help : SortKeyType; Flag : boolean; begin i := 1; Flag := false; while (iFeld[j] then begin Flag := false; Help := Feld[j-1]; Feld[j-1] := Feld[j]; Feld[j] := Help; end; i := i+1; end; end;
(* Sortieren mit Bubblesort und Erkennung eines bereits sortier- *) (* ten Felds. Da der Datentyp erst bei einer konkreten Anwendung *) (* feststeht, ist der Sortieralgorithmus nur als Beispiel und *) (* nicht als Modul programmiert. *) CONST MaxSortElt = 8000; TYPE SortKeyType = LONGINT; SortKeyArray = ARRAY[1..MaxSortElt] OF SortKeyType; PROCEDURE SortBubblesort2(VAR Feld:SortKeyArray; Anz:CARDINAL); VAR i, j : CARDINAL; Help : SortKeyType; Flag : BOOLEAN; BEGIN i := 1; Flag := FALSE; WHILE (iFeld[j] THEN Flag := FALSE; Help := Feld[j-1]; Feld[j-1] := Feld[j]; Feld[j] := Help; END; END; i := i+1; END; END SortBubblesort2;
English version not yet available. |