#pragma once

struct BSTNode
{
    int data;
    BSTNode *left;
    BSTNode *right;
};

class BinarySearchTree
{
public:
    BinarySearchTree(void);
    virtual ~BinarySearchTree(void);
    void insert(int value);
    void print_inorder(void);
    bool find(int value);
    void freeMem(void);
private:
    BSTNode *m_root;
    void print_inorder(BSTNode *ptr);
    void freeMem(BSTNode* ptr);
};

