home *** CD-ROM | disk | FTP | other *** search
- //----------------------------------------------------------
- // TREE.H -
- // (c) 1991 by Thole Groeneveld & toolbox -
- //----------------------------------------------------------
-
- #ifndef __TREE_H
- #define __TREE_H
-
- #include <iostream.h> // Definition von NULL
-
- class Node {
- friend class Tree;
- public:
- Node() : right(NULL), left(NULL) { };
- virtual ~Node() { };
- virtual int operator < (Node&) = 0;
- virtual int operator > (Node&) = 0;
- virtual void equal (Node*) = 0;
- virtual void action() = 0;
- private:
- Node *right, *left;
- };
-
-
- class Tree {
- public:
- Tree() : Root(NULL) { };
- ~Tree() { destroy (Root); };
- void insert (Node* n) { insert (n, Root); };
- int remove (Node& n) { return remove (n, Root); };
- void walk () { walk (Root); };
- Node *search (Node&);
- private:
- Node *Root;
- // - - - - - - - Node*& : Referenz auf Zeiger vom Typ Node
- void insert (Node*, Node*&);
- int remove (Node&, Node*&);
- void walk (Node*);
- void destroy (Node*);
- };
-
- #endif
- //----------------------------------------------------------
- // Ende von TREE.H -
-