implement clearTree() and fix addToTree()
This commit is contained in:
parent
2d79193d6c
commit
9f15c0c01f
13
bintree.c
13
bintree.c
@ -26,7 +26,7 @@ TreeNode *addToTree(TreeNode *root, const void *data, size_t dataSize, CompareFc
|
|||||||
free(newNode); //Free unused Memory
|
free(newNode); //Free unused Memory
|
||||||
return NULL;; //Memory allocation failed
|
return NULL;; //Memory allocation failed
|
||||||
}
|
}
|
||||||
newNode->data = data; //Copy Data
|
memcpy(newNode->data, data, dataSize); //Copy Data
|
||||||
|
|
||||||
newNode->left = NULL;
|
newNode->left = NULL;
|
||||||
newNode->right = NULL;
|
newNode->right = NULL;
|
||||||
@ -74,7 +74,16 @@ void *nextTreeData(TreeNode *root)
|
|||||||
// Releases all memory resources (including data copies).
|
// Releases all memory resources (including data copies).
|
||||||
void clearTree(TreeNode *root)
|
void clearTree(TreeNode *root)
|
||||||
{
|
{
|
||||||
|
if(root == NULL){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
clearTree(root->right);
|
||||||
|
clearTree(root->left);
|
||||||
|
|
||||||
|
free(root->data);
|
||||||
|
free(root);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns the number of entries in the tree given by root.
|
// Returns the number of entries in the tree given by root.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user