Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void deleteNode(contactNode *tree, string number)
- {
- string temp = returnName(tree,number);
- if(tree == NULL)
- return;
- else if(tree->name == temp)
- {
- if(tree->left == NULL && tree->right == NULL)
- {
- delete tree;
- tree = NULL;
- }
- else if(tree->left != NULL)
- {
- tree->name = findMaxNodeName(tree->left);
- tree->number = findMaxNodeNumber(tree->left);
- deleteNode(tree->left, tree->name);
- }
- else
- {
- tree->name = findMinNodeName(tree->right);
- tree->number = findMinNodeNumber(tree->right);
- deleteNode(tree->right, tree->name);
- }
- }
- else if(tree->name < temp)
- {
- deleteNode(tree->right,temp);
- }
- else
- {
- deleteNode(tree->left,temp);
- }
- }
- string findMinNodeName(contactNode *tree)
- {
- if(tree == NULL)
- {
- return NULL;
- }
- else if(tree->left == NULL)
- {
- return tree->name;
- }
- else
- {
- return findMinNodeName(tree->left);
- }
- }
- string findMinNodeNumber(contactNode *tree)
- {
- if(tree == NULL)
- {
- return NULL;
- }
- else if(tree->left == NULL)
- {
- return tree->number;
- }
- else
- {
- return findMinNodeNumber(tree->left);
- }
- }
- string findMaxNodeName(contactNode *tree)
- {
- if(tree == NULL)
- {
- return NULL;
- }
- else if(tree->right == NULL)
- {
- return tree->name;
- }
- else
- {
- return findMaxNodeName(tree->right);
- }
- }
- string findMaxNodeNumber(contactNode *tree)
- {
- if(tree == NULL)
- {
- return NULL;
- }
- else if(tree->right == NULL)
- {
- return tree->number;
- }
- else
- {
- return findMaxNodeNumber(tree->right);
- }
- }
Add Comment
Please, Sign In to add comment