Advertisement
Guest User

Untitled

a guest
Feb 25th, 2020
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.45 KB | None | 0 0
  1. template<typename Key, typename Value>
  2. typename MyAVLTree<Key, Value>::Node* MyAVLTree<Key, Value>::tallestGC(Node* node)
  3. {
  4.     Node* tempLeft = node->left;
  5.     Node* tempRight = node->right;
  6.     if(getHeight(tempLeft) >= getHeight(tempRight))
  7.     {
  8.         if(tempLeft->left != nullptr && tempLeft->right != nullptr)
  9.         {
  10.             if(getHeight(tempLeft->left) >= getHeight(tempLeft->right))
  11.             {
  12.                 return tempLeft->left;
  13.             }
  14.             else
  15.             {
  16.                 return tempLeft->right;
  17.             }
  18.         }
  19.         if(tempLeft->left == nullptr && tempLeft->right != nullptr)
  20.         {
  21.             return tempLeft->right;
  22.         }
  23.         if(tempLeft->right == nullptr && tempLeft->left != nullptr)
  24.         {
  25.             return tempLeft->left;
  26.         }
  27.     }
  28.     else
  29.     {
  30.         if(tempRight->right != nullptr && tempRight->left != nullptr)
  31.         {
  32.             if(getHeight(tempRight->right) >= getHeight(tempRight->left))
  33.             {
  34.                 return tempRight->right;
  35.             }
  36.             else
  37.             {
  38.                 return tempRight->left;
  39.             }
  40.         }
  41.         if(tempRight->left == nullptr && tempRight->right != nullptr)
  42.         {
  43.             return tempRight->right;
  44.         }
  45.         if(tempRight->right == nullptr && tempRight->left != nullptr)
  46.         {
  47.             return tempRight->left;
  48.         }
  49.    
  50.     }
  51.     return node;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement