| 
 | 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. |