Я получил этот код с сайта 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 и почему он инициализируется в конструкторе? Могу ли я просто объявить нулевой узел в моем поле личных данных и инициализировать его в моей функции вставки?
nil
является листовым узлом. Один из способов взглянуть на дерево RB — увидеть все листья какnil
узла. - person scohe001   schedule 01.08.2014