ShadmanTaqi

delete backup

Sep 10th, 2021 (edited)
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.24 KB | None | 0 0
  1.     void deleteNode(contactNode *tree, string number)
  2.     {
  3.         string temp = returnName(tree,number);
  4.  
  5.         if(tree == NULL)
  6.             return;
  7.  
  8.         else if(tree->name == temp)
  9.         {
  10.             if(tree->left == NULL && tree->right == NULL)
  11.             {
  12.                 delete tree;
  13.                 tree = NULL;
  14.  
  15.             }
  16.             else if(tree->left != NULL)
  17.             {
  18.                 tree->name = findMaxNodeName(tree->left);
  19.                 tree->number = findMaxNodeNumber(tree->left);
  20.                 deleteNode(tree->left, tree->name);
  21.             }
  22.             else
  23.             {
  24.                 tree->name = findMinNodeName(tree->right);
  25.                 tree->number = findMinNodeNumber(tree->right);
  26.                 deleteNode(tree->right, tree->name);
  27.             }
  28.         }
  29.  
  30.         else if(tree->name < temp)
  31.         {
  32.             deleteNode(tree->right,temp);
  33.         }
  34.         else
  35.         {
  36.             deleteNode(tree->left,temp);
  37.         }
  38.  
  39.     }
  40.  
  41.     string findMinNodeName(contactNode *tree)
  42.     {
  43.         if(tree == NULL)
  44.         {
  45.             return NULL;
  46.         }
  47.         else if(tree->left == NULL)
  48.         {
  49.             return tree->name;
  50.         }
  51.         else
  52.         {
  53.             return findMinNodeName(tree->left);
  54.         }
  55.     }
  56.     string findMinNodeNumber(contactNode *tree)
  57.     {
  58.         if(tree == NULL)
  59.         {
  60.             return NULL;
  61.         }
  62.         else if(tree->left == NULL)
  63.         {
  64.             return tree->number;
  65.         }
  66.         else
  67.         {
  68.             return findMinNodeNumber(tree->left);
  69.         }
  70.     }
  71.  
  72.  
  73.     string findMaxNodeName(contactNode *tree)
  74.     {
  75.         if(tree == NULL)
  76.         {
  77.             return NULL;
  78.         }
  79.         else if(tree->right == NULL)
  80.         {
  81.             return tree->name;
  82.         }
  83.         else
  84.         {
  85.             return findMaxNodeName(tree->right);
  86.         }
  87.     }
  88.     string findMaxNodeNumber(contactNode *tree)
  89.     {
  90.         if(tree == NULL)
  91.         {
  92.             return NULL;
  93.         }
  94.         else if(tree->right == NULL)
  95.         {
  96.             return tree->number;
  97.         }
  98.         else
  99.         {
  100.             return findMaxNodeNumber(tree->right);
  101.         }
  102.     }
Add Comment
Please, Sign In to add comment