Stapel auf Basis von ARRAYs

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

TicTacToe.om
TYPE
   ListOfStates =
      RECORD
         state: ARRAY maxnofstates OF State;
         nofstates: SHORTINT; (* [0..maxnofstates] *)
      END;

PROCEDURE InitListOfStates(VAR list: ListOfStates);
BEGIN
   list.nofstates := 0;
END InitListOfStates;

PROCEDURE AddState(VAR list: ListOfStates; state: State);
BEGIN
   ASSERT(list.nofstates < maxnofstates);
   list.state[list.nofstates] := state;
   INC(list.nofstates);
END AddState;

PROCEDURE RemoveState(VAR list: ListOfStates);
BEGIN
   ASSERT(list.nofstates > 0);
   DEC(list.nofstates);
END RemoveState;

*Stapel können mit Hilfe von ARRAYs realisiert werden.
 
*Zusätzlich zum ARRAY wird noch ein Index benötigt, der auf das nächste freie Element zeigt bzw. den Füllgrad angibt.
 

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