이진탐색트리 삭제질문
void deleteNode( char key )
{
treeNode *parent,*p,*succ,*succ_parent;
treeNode *child;
parent=NULL;
p=root;
while((p=!NULL)&&(key!=p->key))
{
parent=p;
if(keykey)
p=p->left;
else
p=p->right;
}
if(p==NULL){
printf("\n 찾는 키가 이전 트리에 없습니다 !! ");
return;
}
parent=p;
if(p->right!=NULL&&p->left!=NULL){
}
else if(p->right==NULL||p->left==NULL){
if(p->left!=NULL)
child=p->left;
else
child=p->right;
if(parent!=NULL)
{
if(parent->left==p)
parent->left=child;
else
parent->right=child;
}
root=child;
}
else{
if(parent->left==NULL)
parent->right=NULL;
else
parent->left=NULL;
}
}
탐색후 삭제하는부분이에요
저기 비워져잇는 if는나중에 작성할껀데
이거왜 실행이안되죠...
오류코드로는 assignment makes pointer from interger without a cast
이거한개뜨네요
댓글 달기