// trees data structure

struct treeList {
  treeNode* node;
  treeList* next; }

class tree {

private:

  treeNode* root;

public:
  
  tree(char*);
  ~tree();

  int addChild(char*, char*); // returns 1 if node is found, 0 if not found
  int empty();
  treeList* getChildren(char*);
}

class treeNode {
 
private:
  treeList* children;
  treeNode* parent;
  char *data;
  treeNode* findNodeBelow(char*); // returns NULL if not found
  void addChild(char*);
public:
  treeNode(char*);
  ~treeNode();
}

