diff --git a/src/bst.c b/src/bst.c new file mode 100644 index 0000000..25827b5 --- /dev/null +++ b/src/bst.c @@ -0,0 +1,31 @@ +#include "bst.h" + +#include +#include + +typedef struct bstNode { + int data; + struct bstNode* leftChild; + struct bstNode* rightChild; +} bstNode; + +typedef struct Tree { + bstNode* root; +} Tree; + +bstNode* newNode(int data) +{ + bstNode* node = (bstNode*)malloc(sizeof(bstNode)); + node->data = data; + node->leftChild = NULL; + node->rightChild = NULL; + + return node; +} + +Tree* newTree() +{ + Tree* tree = (Tree*)malloc(sizeof(Tree)); + tree->root = NULL; + return tree; +} diff --git a/src/bst.h b/src/bst.h new file mode 100644 index 0000000..379c076 --- /dev/null +++ b/src/bst.h @@ -0,0 +1,7 @@ +#pragma once + +typedef struct bstNode bstNode; +typedef struct Tree Tree; + +bstNode* newNode(int); +Tree* newTree(); \ No newline at end of file