,這是我的功能在BST搜索:遞歸BST發現元素不能很好地工作
BST* BSTFindElement(BST const *pTree, float find_value)
{
if(pTree)
{
if(find_value > pTree->value)
BSTFindElement(pTree->right, find_value);
else if(find_value < pTree->value)
BSTFindElement(pTree->left, find_value);
return (BST*)pTree;
}
else
{
return 0;
}
}
當浮子數量不是在樹中,則返回任何方式 出現的問題(BST *)ptree中。 我調試了,我發現它工作得很好,例如,如果根是'3.6',我搜索了5它進入pTree->右邊搜索它,然後當它跳過 if(pTree) it返回0,但由於某種原因返回頂部並返回(BST *)pTree再次...我不能自己解決問題,任何人都可以幫助我嗎?謝謝!