diff --git a/src/bst.c b/src/bst.c index 25827b5..1b737b4 100644 --- a/src/bst.c +++ b/src/bst.c @@ -29,3 +29,24 @@ Tree* newTree() tree->root = NULL; return tree; } + +int label(bstNode* node) +{ + if (node == NULL) { + return 0; + } + + return node->data; +} + +void freeNode(bstNode* node) +{ + if (node == NULL) { + return 0; + } + + free(node->leftChild); + free(node->rightChild); + free(node); + return 0; +} \ No newline at end of file diff --git a/src/bst.h b/src/bst.h index 3cdc45c..47fbd5b 100644 --- a/src/bst.h +++ b/src/bst.h @@ -5,9 +5,11 @@ typedef struct Tree Tree; bstNode* newNode(int); Tree* newTree(); +void freeNode(bstNode*); void bstInsert(Tree*, int); bool bstContains(Tree*, int); void bstFree(Tree*); +int label(bstNode*, Tree*); void bstInorder(Tree*); void bstPreorder(Tree*);