void BinarySearchTree::DeleteNode( TreePtr & treePtr, DATA_TYPE val ) { if( treePtr == NULL ) { return; } else if (val == treePtr->data ) { DeleteNodeItem( treePtr ); } else if (val < treePtr->data ) { cout << "DeleteNode::treePtr->data: " << treePtr->data<< endl; cout < " Looking left" << endl; DeleteNode (treePtr->leftPtr, val ); } else { cout << "DeleteNode::treePtr->data: " << treePtr->data << endl; cout << " Looking right " << endl; DeleteNode (treePtr->rightPtr, val ); } }
void BinarySearchTree::DeleteNode( TreePtr& treePtr, DATA_TYPE val ) { #ifdef DEBUG_DELETE cout << "DeleteNode::val: " << val << endl; #endif if( treePtr == NULL ) { return; } else if( val == treePtr->data ) { DeleteNodeItem( treePtr ); // was rootPtr---unexpected results } else if( val < treePtr->data ) { #ifdef DEBUG_DELETE cout << "DeleteNode::treePtr->data: " << treePtr->data << endl; cout << " looking left" << endl; #endif DeleteNode( treePtr->leftPtr, val ); } else { #ifdef DEBUG_DELETE cout << "DeleteNode::treePtr->data: " << treePtr->data << endl; cout << " looking right" << endl; #endif DeleteNode( treePtr->rightPtr, val ); } }