在您提供的代码中,Insert函数存在以下问题:
- 第一行的
root = p;
应该是错误的,应为if (!root) root = p;
来判断是否为空树并设置根节点。
修改后的Insert函数如下所示:
template <class DataType>
bool BinarySortTree<DataType>::Insert(DataType &e) {
BTNode<DataType> *f;
if (Search(e, f))
return false;
BTNode<DataType> *p = new BTNode<DataType>(e);
if (!root)
root = p;
else if (e < f->data)
f->lChild = p;
else
f->rChild = p;
return true;
}
这样就修正了insert函数中的问题。
内容由零声教学AI助手提供,问题来源于学员提问