也许之前要求百万次,但我根本不明白这是什么问题。我不想在互联网上使用任何代码,所以我只是试图对我的想法进行编程。这个或我的打印功能都是错误的。下面的代码有什么问题吗?二进制搜索树插入C++
void addNode(int value)
{
Node* newNode=new Node;
newNode->data=value;
if(root==NULL)
root=newNode;
else {
Node* temp=root,*parent;
while(temp!=NULL)
{
parent=temp;
if(temp->data == value)
return;
else if(temp->data < value)
temp=temp->left;
else
temp=temp->right;
}
temp=newNode;
}
}
您从不指定任何节点的“left”或“right”成员。 – 2012-04-18 18:21:45
我正在使用'temp = temp-> left'和'temp = temp-> right'。这不算什么? – Ali 2012-04-18 18:22:36
@rolandbishop:不;这会将您的本地变量更改为引用不同的节点,但是一旦找到插入点,您就不会修改树。 – 2012-04-18 18:25:52