{
TNode* temp;
temp=root;
while((N>=temp.value && temp.left!=NULL) || (N
right
!=NULL
))
{
while(N>=temp.value && temp.left!=NULL)
temp=temp.left;
while(N
temp=temp.right;
}
if(N>=temp.value)
temp.left=NewNode;
else
temp.right=NewNode;
return;
}
}
原因:因为新节点的左右指针没有赋 NULL 值,至使下面的 while循环不能正确结束而导致内
存越界,最后崩溃(注意结束条件是 temp->left!= NULL 或 temp->right!=NULL)。