home *** CD-ROM | disk | FTP | other *** search
- MODULE BirthdayAVLTrees;
-
- IMPORT AVLTrees, io;
-
- TYPE
- Person = POINTER TO PersonDesc;
- PersonDesc = RECORD (AVLTrees.SNodeDesc)
- birthday: ARRAY 20 OF CHAR;
- END;
-
- VAR
- root: AVLTrees.SRoot;
- node: AVLTrees.SNode;
- new: Person;
- eingabe: ARRAY 20 OF CHAR;
- name: AVLTrees.String;
-
- BEGIN
- root := AVLTrees.SCreate();
- REPEAT
- io.WriteLn;
- io.WriteString(" N: Neue Person\n");
- io.WriteString(" G: Geburtstag ausgeben\n");
- io.WriteString(" E: Ende\n\n");
- io.WriteString("Eingabe: ");
- io.ReadString(eingabe);
- io.WriteLn;
- IF (eingabe="n") OR (eingabe="g") THEN
- io.WriteString("Name der Person: ");
- io.ReadString(name);
- IF eingabe="n" THEN
- NEW(new); new.name := name;
- io.WriteString("Geburtstag: ");
- io.ReadString(new.birthday);
- root.Add(new);
- IF ~ root.addOk THEN
- io.WriteString("Person existiert bereits!\n");
- END;
- ELSE
- node := root.SFind(name);
- IF node=NIL THEN
- io.WriteString("Person nicht gefunden!\n");
- ELSE
- io.WriteString("Geburtstag: ");
- io.WriteString(node(Person).birthday);
- io.WriteLn;
- END;
- END;
- END;
- UNTIL eingabe="e";
- END BirthdayAVLTrees.
-