Rekursive Listen


In der Programmiersprache LISP können die Listen, die dort als grundlegende Datenstruktur verwendet werden, als Elemente  neben Atomen auch selbst Listen enthalten. Solche rekursive Listen lassen sich in Modula 2 nachbilden: wir erweitern unseren früher verwendeten Typ knoten  zu einem Verbund mit Varianten und einem Schalterfeld ka: 
TYPE knoten = RECORD nach: liste;
                     CASE ka: (A, L) OF
                          A: wert: atom; |
                          L: vws: liste;
                     END;
              END;
Damit kann die rekursive Liste ( a ( b c ) d ) jetzt als Geflecht dargestellt werden:
Formel
Die rekursive Liste (()) ist nicht etwa leer, sondern enthält als einziges Element eine leere Liste () !
Formel

zurück | Inhalt | Index | vor | Vorlesung

Klaus Lagally, 22. Februar 2000, 19:36