gpt4 book ai didi

c++ - 二叉树 getParent 函数

转载 作者:行者123 更新时间:2023-11-28 07:35:10 27 4
gpt4 key购买 nike

我已经实现了这个函数,它从一个节点递归搜索并返回一个节点,该节点的子节点具有一些给定的节点数据,如果找到,则返回 0。

Node<T> * BinaryTree<T>::searchParent ( T key , Node<T> * p ) const
{
if ( p == 0 )
return 0;

if ( p->left && p->left->info == key )
return p;
else if ( p->right && p->right->info == key )
return p;

Node<T> * q = searchParent ( key , p->left );

if ( q == 0 )
return searchParent ( key , p->right );

return q;
}

现在我想实现这个函数,如果只给出节点数据,它会查找并返回给定节点的父节点的数据。

T BinaryTree<T>::getParent( T node )

但我无法递归或非递归地实现它。

最佳答案

基本思路:

T BinaryTree<T>::getParent(T node)
{
return searchParent(node, root)->info;
}

您可能需要添加一些错误检查。由于您返回的是泛型类型,因此如果未找到或已经在根目录中,您可能不得不抛出异常。

关于c++ - 二叉树 getParent 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16885836/

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