Advertisement
Guest User

Untitled

a guest
Nov 14th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.87 KB | None | 0 0
  1. template<class ItemType>
  2. BinaryNode < ItemType >* BinaryNodeTree<ItemType>::removeValue (BinaryNode < ItemType > *subTreePtr, const ItemType target, bool & success)
  3. {
  4.     if(subTreePtr == nullptr) //null thi thoat
  5.         return subTreePtr;
  6.  
  7.     if (subTreePtr->getItem() == target) // da tim thay
  8.     {
  9.         subTreePtr = moveValuesUpTree(subTreePtr);
  10.         success = true;
  11.         return subTreePtr;
  12.     }
  13.     else
  14.     {
  15.         auto targetNodePtr = removeValue(subTreePtr->getLeftChildPtr(), target, success);
  16.         subTreePtr->setLeftChildPtr(targetNodePtr);
  17.         if (!success) //tim ben phai neu ben trai k co
  18.         {
  19.             targetNodePtr = removeValue(subTreePtr->getRightChildPtr(), target, success);
  20.             subTreePtr->setRightChildPtr(targetNodePtr);
  21.         }  // end if
  22.  
  23.         return subTreePtr;
  24.     }  // end if
  25. }  // end removeValue
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement