#ifndef HEADER_H #define HEADER_H #include #include typedef struct node { int element; node *left; node *right; }Node; class BinarySearchTree { public: BinarySearchTree(); ~BinarySearchTree(); bool contains(int entry); //insert and delete functions int insert(int entry); int remove(int entry); bool search(int entry); void printPreOrder(); void printPostOrder(); void printInOrder(); private: Node *root; int insert(int entry, Node *&branch); int remove(int entry, Node *&branch); Node *findMin(Node *branch); Node *findMax(Node *branch); bool contains(int entry, Node *branch); void printPreOrder(Node *branch); void printPostOrder(Node *branch); void printInOrder(Node *branch); }; #endif