gpt4 book ai didi

c++ - 双线程二叉搜索树——保存父节点和祖父节点以便设置线程

转载 作者:太空宇宙 更新时间:2023-11-04 12:32:22 26 4
gpt4 key购买 nike

对于学校作业,我需要采用二叉搜索树并将其转换为双线程二叉搜索树。我对线程的工作方式有一个大致的了解,但我意识到为了知道线程的确切位置,我需要知道最后插入的节点(prev)的父节点,以及该节点的父节点很好(twoBack)。但是,在我尝试修改其中一个函数以保存这些值的过程中,我无法完全得到我正在寻找的东西。

如果有人能准确指出我做错了什么,并向我解释,以便我从错误中吸取教训,我将不胜感激。谢谢!

这两个函数都是 BST 本身类的一部分:

void insert(const Key& k, const E& e) 
{
root = inserthelp(root, k, e);
nodecount++;
}
BSTNode<Key, E>* BST<Key, E>::inserthelp(BSTNode<Key, E>* root, const Key& k, const E& it) 
{
if (root == NULL) // Empty tree: create node
{
return new BSTNode<Key, E>(k, it, NULL, NULL);
}
if (k < root->key())
{
if (prev != NULL)
twoBack = prev;
prev = root;
root->setLeft(inserthelp(root->left(), k, it));
}
else
{
if (prev != NULL)
twoBack = prev;
prev = root;
root->setRight(inserthelp(root->right(), k, it));
}
return root; // Return tree with node inserted
}

最佳答案

由于留下的评论,此问题已得到回答。

关于c++ - 双线程二叉搜索树——保存父节点和祖父节点以便设置线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58152139/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com