Red-black tree #5

Merged
Jef Roosens merged 24 commits from Chewing_Bever/libvieter:red-black-tree into dev 2023-03-07 12:08:50 +01:00
Showing only changes of commit adfdca18da - Show all commits

View file

@ -12,19 +12,37 @@ typedef enum vieter_tree_error {
vieter_tree_not_present = 2
} vieter_tree_error;
/*
* Allocate and initialize a new red-black binary tree.
*/
vieter_tree *vieter_tree_init();
/*
* Deallocate a red-black binary tree.
*/
void vieter_tree_free(vieter_tree *tree);
/*
* Insert a new entry into the tree.
*/
vieter_tree_error vieter_tree_insert(vieter_tree *tree, uint64_t key,
void *data);
/*
* Look for an entry in the tree.
*/
vieter_tree_error vieter_tree_search(void **out, vieter_tree *tree,
uint64_t key);
/*
* Remove a given entry from the tree.
*/
vieter_tree_error vieter_tree_remove(void **out, vieter_tree *tree,
uint64_t key);
/*
* Return how many entries are currently in the tree.
*/
uint64_t vieter_tree_size(vieter_tree *tree);
#endif