【发布时间】:2014-09-23 22:35:48
【问题描述】:
我从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 节点并在我的插入函数中初始化它吗?
【问题讨论】:
-
nil是叶节点。查看 RB 树的一种方法是将所有叶子视为nil节点
标签: c++ binary-search-tree red-black-tree