Recursive Implementations 3
static Node* RClone(const Node* n)
// returns a pointer to a deep copy of n
{
if (n == 0)
return 0;
typename BST<T>::Node* newN = NewNode (n->value_);
newN->lchild_ = RClone(n->lchild_);
if (newN->lchild_ != 0)
newN->lchild_->parent_ = newN;
newN->rchild_ = RClone(n->rchild_);
if (newN->rchild_ != 0)
newN->rchild_->parent_ = newN;
return newN;
}