Implementing the BST ADT

By now, we have a new ADT called BST class with the following declaration:

class BST{private:    BSTNode * root;protected:    BSTNode * Insert(BSTNode * node, int key);    void PrintTreeInOrder(BSTNode * node);    BSTNode * Search(BSTNode * node, int key);    int FindMin(BSTNode * node);    int FindMax(BSTNode * node);    int Successor(BSTNode * node);    int Predecessor(BSTNode * node);    BSTNode * Remove(BSTNode * node, int v);public:    BST();    void Insert(int key);    void PrintTreeInOrder();    bool Search(int key);    int FindMin();    int FindMax();    int Successor(int key);    int Predecessor(int key);    void Remove(int v);};

To instantiate a BST class, we can write the following code:

// Instantiate BST instanceBST * tree = new BST;

By running the preceding ...

Get C++ Data Structures and Algorithms now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.