Я получил этот код из http://web.mit.edu/~emin/www.old/source_code/cpp_trees/index.html и его конструктор для красного черного узлакрасная черная вставка дерева вставка - что такое страж?
RedBlackTree::RedBlackTree()
{
nil = new RedBlackTreeNode;
nil->left = nil->right = nil->parent = nil;
nil->red = 0;
nil->key = MIN_INT;
nil->storedEntry = NULL;
root = new RedBlackTreeNode;
root->parent = root->left = root->right = nil;
root->key = MAX_INT;
root->red=0;
root->storedEntry = NULL;
}
Что такое ноль и почему он инициализируется в конструкторе? Могу ли я просто объявить нулевой узел в своем личном поле данных и инициализировать его в моей функции вставки?
'nil' - листовой узел. Один из способов взглянуть на дерево RB - увидеть все листья как узлы «nil» – scohe001
http://en.wikipedia.org/wiki/Sentinel_value –