| | | | | |

A Binary Search Tree Class - Design Pattern

Start from "scratch" - follow established pattern

  template <typename T, class P = LessThan<T> >
  class BST
  {
  public:
    typedef T                                        ValueType; 
    typedef P                                        PredicateType;
    typedef BSTNavigator < T , P >                   Navigator;
    typedef BinaryTreeInorderIterator < Navigator >  Iterator;
    ...
  protected:
    class Node
    {
      T      value_;
      Node * lchild_;
      Node * rchild_;
      Node (const T& t) : value_(t), lchild_(0), rchild_(0) {}
      friend class BST<T,P>;
    };

    Node *        root_;
    PredicateType pred_;
  };

| | Top of Page | 12. Binary Search Trees - 6 of 27