Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- template<class ItemType>
- BinaryNode < ItemType >* BinaryNodeTree<ItemType>::removeValue (BinaryNode < ItemType > *subTreePtr, const ItemType target, bool & success)
- {
- if(subTreePtr == nullptr) //null thi thoat
- return subTreePtr;
- if (subTreePtr->getItem() == target) // da tim thay
- {
- subTreePtr = moveValuesUpTree(subTreePtr);
- success = true;
- return subTreePtr;
- }
- else
- {
- auto targetNodePtr = removeValue(subTreePtr->getLeftChildPtr(), target, success);
- subTreePtr->setLeftChildPtr(targetNodePtr);
- if (!success) //tim ben phai neu ben trai k co
- {
- targetNodePtr = removeValue(subTreePtr->getRightChildPtr(), target, success);
- subTreePtr->setRightChildPtr(targetNodePtr);
- } // end if
- return subTreePtr;
- } // end if
- } // end removeValue
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement