A balanced binary tree where the longest path from the root to any leaf is no more than twice as long as the shortest path from the root to any other leaf in that tree. More...
#include <RedBlackTree.h>
Classes | |
class | Iterator |
Iterate the tree values. More... | |
Public Member Functions | |
RedBlackTree (const RedBlackTree< K, V > &rbt) | |
RedBlackTree< K, V > & | operator= (const RedBlackTree< K, V > &rbt) |
RedBlackTreeIterator< K, V > | NodeIterator () |
Iterator | Begin () const |
int | Count () const |
void | Insert (const K key, V data) |
void | Remove (const K &key) |
void | Clear () |
V | Find (const K &key) const |
V & | FindRef (const K &key) const |
bool | ContainsKey (const K &key) const |
void | VerifyTree () const |
virtual void | ValidateMem () const |
virtual void | CheckMem () const |
Protected Member Functions | |
virtual RefCountPtr< IIterator < V > > | IteratorPtr () |
RBNode< K, V > * | CreateNode (const K key, V data) |
void | RotateLeft (RBNode< K, V > *node) |
void | RotateRight (RBNode< K, V > *node) |
RBNode< K, V > * | FindNode (const K &key) const |
void | DeleteCase1 (RBNode< K, V > *n) |
void | DeleteCase2 (RBNode< K, V > *n) |
void | DeleteCase3 (RBNode< K, V > *n) |
void | DeleteCase4 (RBNode< K, V > *n) |
void | DeleteCase5 (RBNode< K, V > *n) |
void | DeleteCase6 (RBNode< K, V > *n) |
void | InsertCase1 (RBNode< K, V > *n) |
void | InsertCase2 (RBNode< K, V > *n) |
void | InsertCase3 (RBNode< K, V > *n) |
void | InsertCase4 (RBNode< K, V > *n) |
void | InsertCase5 (RBNode< K, V > *n) |
A balanced binary tree where the longest path from the root to any leaf is no more than twice as long as the shortest path from the root to any other leaf in that tree.
Definition at line 432 of file RedBlackTree.h.