Graphviz  2.41.20170921.2350
Functions
red_black_tree.c File Reference
#include "config.h"
#include "red_black_tree.h"
#include "stdio.h"
Include dependency graph for red_black_tree.c:

Go to the source code of this file.

Functions

rb_red_blk_treeRBTreeCreate (int(*CompFunc)(const void *, const void *), void(*DestFunc)(void *), void(*InfoDestFunc)(void *), void(*PrintFunc)(const void *), void(*PrintInfo)(void *))
 
void LeftRotate (rb_red_blk_tree *tree, rb_red_blk_node *x)
 
void RightRotate (rb_red_blk_tree *tree, rb_red_blk_node *y)
 
void TreeInsertHelp (rb_red_blk_tree *tree, rb_red_blk_node *z)
 
rb_red_blk_nodeRBTreeInsert (rb_red_blk_tree *tree, void *key, void *info)
 
rb_red_blk_nodeTreeSuccessor (rb_red_blk_tree *tree, rb_red_blk_node *x)
 
rb_red_blk_nodeTreePredecessor (rb_red_blk_tree *tree, rb_red_blk_node *x)
 
void InorderTreePrint (rb_red_blk_tree *tree, rb_red_blk_node *x)
 
void TreeDestHelper (rb_red_blk_tree *tree, rb_red_blk_node *x)
 
void RBTreeDestroy (rb_red_blk_tree *tree)
 
void RBTreePrint (rb_red_blk_tree *tree)
 
rb_red_blk_nodeRBExactQuery (rb_red_blk_tree *tree, void *q)
 
void RBDeleteFixUp (rb_red_blk_tree *tree, rb_red_blk_node *x)
 
void RBDelete (rb_red_blk_tree *tree, rb_red_blk_node *z)
 
stk_stackRBEnumerate (rb_red_blk_tree *tree, void *low, void *high)
 

Function Documentation

void InorderTreePrint ( rb_red_blk_tree tree,
rb_red_blk_node x 
)
void LeftRotate ( rb_red_blk_tree tree,
rb_red_blk_node x 
)
void RBDelete ( rb_red_blk_tree tree,
rb_red_blk_node z 
)
void RBDeleteFixUp ( rb_red_blk_tree tree,
rb_red_blk_node x 
)
stk_stack* RBEnumerate ( rb_red_blk_tree tree,
void *  low,
void *  high 
)
rb_red_blk_node* RBExactQuery ( rb_red_blk_tree tree,
void *  q 
)
rb_red_blk_tree* RBTreeCreate ( int(*)(const void *, const void *)  CompFunc,
void(*)(void *)  DestFunc,
void(*)(void *)  InfoDestFunc,
void(*)(const void *)  PrintFunc,
void(*)(void *)  PrintInfo 
)
void RBTreeDestroy ( rb_red_blk_tree tree)

Definition at line 446 of file red_black_tree.c.

References rb_red_blk_node::left, rb_red_blk_tree::nil, rb_red_blk_tree::root, and TreeDestHelper().

Referenced by main().

rb_red_blk_node* RBTreeInsert ( rb_red_blk_tree tree,
void *  key,
void *  info 
)
void RBTreePrint ( rb_red_blk_tree tree)

Definition at line 468 of file red_black_tree.c.

References InorderTreePrint(), rb_red_blk_node::left, and rb_red_blk_tree::root.

Referenced by main().

void RightRotate ( rb_red_blk_tree tree,
rb_red_blk_node y 
)
void TreeDestHelper ( rb_red_blk_tree tree,
rb_red_blk_node x 
)
void TreeInsertHelp ( rb_red_blk_tree tree,
rb_red_blk_node z 
)
rb_red_blk_node* TreePredecessor ( rb_red_blk_tree tree,
rb_red_blk_node x 
)
rb_red_blk_node* TreeSuccessor ( rb_red_blk_tree tree,
rb_red_blk_node x 
)