所以我在运行这个函数时遇到了麻烦,因为它一直返回一个分段错误。我已将其缩小到“删除根目录”;行,但不知道如何解决此错误。
有什么建议么?
这是作业中包含的前置条件和后置条件:
// 前置条件:root 是一个指向二叉搜索树根的指针。
// 后置条件:该函数删除二叉搜索树的所有节点并将 // root 设置为 NULL。
template<class Key, class Item>
void tree_clear(bstNode<Item, Key>*& root)
{
bstNode<Item, Key>* child;
if(root != NULL)
{
child = root->left();
tree_clear(child);
child = root->right();
tree_clear(child);
delete root;
root = NULL;
}
}