이진검색트리 삭제 구현한거 수정 좀 해주세요..
4차원
질문 제목 : 이진검색 트리 구현 한거 오류 수정 부탁드립니다.이진검색트리 삭제 구현한거 수정 부탁드립니다.질문 내용 :다음 소스와 같이 구현하였는데요.트리 끝에 밑에 자식 노드 없는것은 삭제가잘 되는데요. 루트노드 삭제하면 아래와 같이 프로그램이 오류가 생깁니다. 어떻게 해야 하는지요..ㅠ-소스-
node *deletenode(node *root, int data)
{
node *t, *parent, *s;
t=iterative_treesearch(root, data); //찾고자 하는 데이터 위치 찾기
parent=search_parent(root, data); // 찾고자 하는 데이트 부모노드 찾기
if(t-left == null && t-right== null){
if(parent-left == t) parent-left = null;
else parent-right = null;
}else if(t-left == null && t-right != null){
if(parent-left == t) {
parent-left = t-right;
}else parent-right = t-right;
}else if(t-left != null && t-right == null){
if(parent-left == t) {
parent-left = t-left;
}else parent-right = t-left;
}else if(t-left != null && t-right != null){
s=treemaximum(t-left);
t-data = s-data;
deletenode(t-left, t-data);
}
}