CACAO
Data Structures | Macros | Functions
avl.cpp File Reference

Go to the source code of this file.

Data Structures

struct  avl_tree_t
 
struct  avl_node_t
 

Macros

#define AVL_LEFT   0
 
#define AVL_RIGHT   1
 

Functions

avl_tree_tavl_create (avl_comparator *comparator)
 
static avl_node_tavl_newnode (void *data)
 
static void avl_rotate_left (avl_node_t **node)
 
static void avl_rotate_right (avl_node_t **node)
 
static void avl_adjust_balance (avl_node_t *node)
 
static s4 avl_insert_intern (avl_tree_t *tree, avl_node_t **node, void *data)
 
bool avl_insert (avl_tree_t *tree, void *data)
 
voidavl_find (avl_tree_t *tree, void *data)
 
void avl_dump (avl_node_t *node, s4 indent)
 

Macro Definition Documentation

#define AVL_LEFT   0

Definition at line 36 of file avl.cpp.

#define AVL_RIGHT   1

Definition at line 37 of file avl.cpp.

Function Documentation

static void avl_adjust_balance ( avl_node_t node)
static

Definition at line 170 of file avl.cpp.

avl_tree_t* avl_create ( avl_comparator comparator)

Definition at line 65 of file avl.cpp.

void avl_dump ( avl_node_t node,
s4  indent 
)

Definition at line 395 of file avl.cpp.

void* avl_find ( avl_tree_t tree,
void data 
)

Definition at line 350 of file avl.cpp.

bool avl_insert ( avl_tree_t tree,
void data 
)

Definition at line 317 of file avl.cpp.

static s4 avl_insert_intern ( avl_tree_t tree,
avl_node_t **  node,
void data 
)
static

Definition at line 205 of file avl.cpp.

static avl_node_t* avl_newnode ( void data)
static

Definition at line 86 of file avl.cpp.

static void avl_rotate_left ( avl_node_t **  node)
static

Definition at line 116 of file avl.cpp.

static void avl_rotate_right ( avl_node_t **  node)
static

Definition at line 146 of file avl.cpp.