25 lines
676 B
ObjectPascal
25 lines
676 B
ObjectPascal
DEFINITION RosettaAVLTrees;
|
|
|
|
TYPE
|
|
Tree = POINTER TO Node;
|
|
Node = ABSTRACT RECORD (Order)
|
|
(IN n: Node) Alloc- (): Tree, NEW, ABSTRACT;
|
|
(IN n: Node) Delete (t: Tree): Tree, NEW;
|
|
(IN t: Node) Init (): Tree, NEW;
|
|
(IN n: Node) Insert (t: Tree): Tree, NEW;
|
|
(IN n: Node) Lookup (t: Tree): BOOLEAN, NEW;
|
|
(IN t: Node) Tail (): Tree, NEW
|
|
END;
|
|
|
|
Out = ABSTRACT RECORD
|
|
(IN o: Out) Draw (t: Tree), NEW;
|
|
(IN o: Out) Int- (i: INTEGER), NEW, ABSTRACT;
|
|
(IN o: Out) Ln-, NEW, ABSTRACT;
|
|
(IN o: Out) Node- (IN n: Node), NEW, ABSTRACT;
|
|
(IN o: Out) Str- (s: ARRAY OF CHAR), NEW, ABSTRACT
|
|
END;
|
|
|
|
PROCEDURE Ordered (t: Tree): BOOLEAN;
|
|
|
|
END RosettaAVLTrees.
|