ポインタを利用した二分探索木のデータ削除で質問なのですが、下のプログラムではデータが消えません。
どうしたらいいですか?? 子を2つ持つ場合です。
if(head->right!=NULL && head->left!=NULL){
y=head->left;
if(y->right==NULL && y->left==NULL)
{
strcpy(head->data,y->data);
free(y);
head->left=NULL;
}
w=head;
while(1){
if(y->right!=NULL){
w=y;
y=y->right;
}
else

break;}
strcpy(head->data,y->data);
if(y->left!=NULL)
{w->right=NULL;
w->right=y->left;
free(y);
}
else{
free(y);
w->right==NULL
}}