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


Committed

MT-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

tribblix@gmail.com :: GitHub :: Privacy