AVL_ADD(3AVL) AVL Tree Library Functions AVL_ADD(3AVL)
NAME
avl_add,
avl_remove - add and remove nodes from an AVL tree
SYNOPSIS
AVL Tree Library (libavl, -lavl)
#include <sys/avl.h> void avl_add(
avl_tree_t *tree,
void *node);
void avl_remove(
avl_tree_t *tree,
void *node);
DESCRIPTION
The
avl_add() and
avl_remove() functions add and remove objects from
the AVL tree rooted at
tree.
The
avl_add() function inserts
node into the tree.
node must not
already be in the tree, thus implying it must not compare equal to any
other node in the tree. Adding
node to
tree will take
O(log(n)) time,
as it implicitly determines where to place it in the tree. If
node's
location has already been determined by
avl_find(3AVL), then instead
use
avl_insert(3AVL).
The
avl_remove() function removes
node from the tree rooted at
tree.
node must be present in the tree, otherwise, the behavior is undefined.
Deleting
node from
tree occurs in
O(log(n)) time.
EXAMPLES
See the
EXAMPLES section in
libavl(3LIB).
INTERFACE STABILITY
CommittedMT-Level See
Locking in
libavl(3LIB).
SEE ALSO
avl_create(3AVL),
avl_destroy(3AVL),
avl_insert(3AVL),
avl_insert_here(3AVL),
libavl(3LIB)illumos April 13, 2015 illumos