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; +};