Prozedurtypen II

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

BubbleSort2.om
PROCEDURE IntegerGreaterThan(i, j: INTEGER) : BOOLEAN;
BEGIN
   RETURN integers[i] > integers[j]
END IntegerGreaterThan;

PROCEDURE ExchangeIntegers(i, j: INTEGER);
   VAR
      tmp: Integer;
BEGIN
   tmp := integers[i];
   integers[i] := integers[j];
   integers[j] := tmp;
END ExchangeIntegers;

*Die Prozeduren IntegerGreaterThan und ExchangeIntegers passen genau zu den Prozedurtypen GreaterThanProc und ExchangeProc.
 
*Entsprechend können diese Prozedur als Parameter an Sort übergeben werden:
 
BubbleSort2.om
PROCEDURE SortIntegers;
   VAR
      nofitems: INTEGER;
BEGIN
   nofitems := ReadIntegers(integers);
   IF nofitems > 0 THEN
      Sort(IntegerGreaterThan, ExchangeIntegers, nofitems);
      WriteIntegers(integers, nofitems);
   END;
END SortIntegers;

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 2004, 2005 Andreas Borchert, in HTML konvertiert am 18.02.2005