static void
itree_rotate_left (struct itree_tree *tree,
- struct itree_node *node)
+ struct itree_node *node)
{
eassert (node->right != NULL);
static void
itree_rotate_right (struct itree_tree *tree,
- struct itree_node *node)
+ struct itree_node *node)
{
eassert (tree && node && node->left != NULL);
static void
itree_insert_fix (struct itree_tree *tree,
- struct itree_node *node)
+ struct itree_node *node)
{
eassert (tree->root->red == false);
static void
itree_remove_fix (struct itree_tree *tree,
- struct itree_node *node,
- struct itree_node *parent)
+ struct itree_node *node,
+ struct itree_node *parent)
{
if (parent == NULL)
eassert (node == tree->root);
Requires both nodes to be using the same effective 'offset'. */
static void
itree_replace_child (struct itree_tree *tree,
- struct itree_node *source,
- struct itree_node *dest)
+ struct itree_node *source,
+ struct itree_node *dest)
{
eassert (tree && dest != NULL);
eassert (source == NULL
effective 'offset'. */
static void
itree_transplant (struct itree_tree *tree,
- struct itree_node *source,
- struct itree_node *dest)
+ struct itree_node *source,
+ struct itree_node *dest)
{
itree_replace_child (tree, source, dest);
source->left = dest->left;
return next;
}
}
- }
+ }
return NULL;
case ITREE_POST_ORDER: