return rbt_lookup_node(tree, tree->root, value);
}
+static rbt_node_t* rightmost_descendent(rbt_node_t* node){
+ return (node->right) ? rightmost_descendent(node->right) : node;
+}
+
/* ----------------------------------------- */
/* generally helpful tree manipulation */
}
}
-static rbt_node_t* rightmost_descendent(rbt_node_t* node){
- return (node->right) ? rightmost_descendent(node->right) : node;
-}
-
static void rbt_delete_node(rbt_t* tree, rbt_node_t* node){
rbt_node_t* descendant = NULL;
if(node->left && node->right){