feat(tree): started standard binary tree

This commit is contained in:
Jef Roosens 2023-01-19 22:23:19 +01:00
parent 7fb172c291
commit 2ecd2eae4d
Signed by: Jef Roosens
GPG key ID: B75D4F293C7052DB
6 changed files with 183 additions and 8 deletions

View file

@ -2,14 +2,29 @@
#define VIETER_TREE
#include <stdint.h>
#include <stdlib.h>
typedef struct vieter_tree vieter_tree;
typedef enum vieter_tree_error {
vieter_tree_ok = 0,
vieter_tree_already_present = 1
vieter_tree_ok = 0,
vieter_tree_already_present = 1,
vieter_tree_not_present = 2
} vieter_tree_error;
vieter_tree_error vieter_tree_insert(uint64_t key, void *data);
vieter_tree *vieter_tree_init();
void vieter_tree_free(vieter_tree *tree);
vieter_tree_error vieter_tree_insert(vieter_tree *tree, uint64_t key,
void *data);
vieter_tree_error vieter_tree_search(void **out, vieter_tree *tree,
uint64_t key);
vieter_tree_error vieter_tree_remove(void **out, vieter_tree *tree,
uint64_t key);
uint64_t vieter_tree_size(vieter_tree *tree);
#endif