これは私に解決策を与えていないcの関数です
struct node* serch(struct node *ptr,int x)
{
if(ptr->data==x)
{
printf(" root of tree itself ");
}
else
{
struct node *ptr1,*ptr2;
ptr1=ptr->left;
ptr2=ptr->right;
while((ptr1->data!=x)&&(ptr2->data!=x))
{
if(ptr->data>x)
{
ptr=ptr1;
ptr1=ptr->left;
ptr2=ptr->right;
}
else if(ptr->data<x)
{
ptr=ptr2;
ptr1=ptr->left;
ptr2=ptr->right;
}
}
return ptr;
}
}
THEコードは、ノードが両方の子を持つ場合に正常に機能します(特に、ツリーのバランスが取れているレベルまでは正常に機能します)が、その後は機能せず、エラーが発生します
parentnode.exe が動作を停止しました。Windows が解決策を確認しています。