From df50f9698332f3a225aa67704969c72c88ca941c Mon Sep 17 00:00:00 2001 From: Jef Roosens Date: Thu, 19 Jan 2023 21:22:08 +0100 Subject: [PATCH] feat: begin binary tree implementation --- include/vieter_tree.h | 15 +++++++++++++++ src/tree/node.h | 13 +++++++++++++ src/tree/tree.c | 6 ++++++ 3 files changed, 34 insertions(+) create mode 100644 include/vieter_tree.h create mode 100644 src/tree/node.h create mode 100644 src/tree/tree.c diff --git a/include/vieter_tree.h b/include/vieter_tree.h new file mode 100644 index 0000000..7dda9e1 --- /dev/null +++ b/include/vieter_tree.h @@ -0,0 +1,15 @@ +#ifndef VIETER_TREE +#define VIETER_TREE + +#include + +typedef struct vieter_tree vieter_tree; + +typedef enum vieter_tree_error { + vieter_tree_ok = 0, + vieter_tree_already_present = 1 +} vieter_tree_error; + +vieter_tree_error vieter_tree_insert(uint64_t key, void *data); + +#endif diff --git a/src/tree/node.h b/src/tree/node.h new file mode 100644 index 0000000..10143ca --- /dev/null +++ b/src/tree/node.h @@ -0,0 +1,13 @@ +#ifndef VIETER_BALANCED_TREE_NODE +#define VIETER_BALANCED_TREE_NODE + +#include + +typedef struct vieter_tree_node { + uint64_t key; + void *data; + struct vieter_tree_node *left; + struct vieter_tree_node *right; +} vieter_tree_node; + +#endif diff --git a/src/tree/tree.c b/src/tree/tree.c new file mode 100644 index 0000000..4a10d5a --- /dev/null +++ b/src/tree/tree.c @@ -0,0 +1,6 @@ +#include "vieter_tree.h" +#include "node.h" + +struct vieter_tree { + uint64_t size; +};