void BstClass<ItemType>::rClear(/* in */node<ItemType>* & trav) //location in tree { if (trav != nullptr) { rClear(trav->left); rClear(trav->right); delete trav; trav = nullptr; }//end if }//end rClear
void OrdListClass<ItemType>::rClear( /* In */ node<ItemType>* trav ) // A traversal pointer { // If the traversal pointer is not NULL if( trav != NULL ) { // Recursively clear the left subtree rClear( trav->left ); // Recursively clear the right subtree rClear( trav->right ); delete trav; } // End if } //End rClear( node* trav )
void OrdListClass<ItemType>::Clear() { currPos = NULL; prevPos = NULL; // Recursively clear the tree rClear( root ); root = NULL; } // End Clear()
void BstClass<ItemType>::Clear() { rClear(root); }//end Clear
BstClass<ItemType>::~BstClass() { rClear(root); }//end destructor
void BstClass<ItemType>::operator=(/* in */const BstClass<ItemType> & orig) //class to be copied { rClear(root); node<ItemType>* trav = orig.root; rCopy(root, trav); }//end operator=