자료구조 - 트리 삭제 문제
바다
질문 제목 : 자료구조 - 트리 삭제 구현 문제질문 요약 :트리구조에서 삭제시, 다른 경우는 다 되는데, 자료가 하나도 없을 경우의 문제를 물어보고 싶습니다.질문 내용 :
일단 소스를 올려보기 전에, 설명을 하자면 다른 경우에는 다 됩니다. 소스가 좀 조잡하긴 해도, 일단은 되서..; 그런데 한가지 문제가 생기네요. 자료가 딱! 하나 남아서, 그걸 지웠을 때, 지워지지 않는다는점요;
TreeNode *delete_node(TreeNode *p, int data)
{
if(p !=NULL)
{
if(p-data == data)
{
if(p-left == NULL && p-right == NULL)
{
p = NULL;
return p;
}
else if(p-left !=NULL && p-right == NULL)
{
return p-left;
}
else if(p-left == NULL && p-right !=NULL)
{
return p-right;
}
else if(p-left != NULL && p-right !=NULL)
{
p-right-left = p-left;
return p-right;
}
}
else if(p-data data)
{
p-left = delete_node(p-left, data);
return p;
}
else if(p-data data)
{
p-right = delete_node(p-right, data);
return p;
}
}
else
{
cout 삭제할 값이 없습니다. endl;
system(pause);
return 0;
}
return p;
}
좀 조잡하고 길긴 한데... 한번 봐주시기 바랍니다~ 삭제 구현한 함수만 이렇게 올려요.
어떻게 하면 좋을까요?? 삭제하고 나서 0을 넣어줬더니, 다른 값을 다시 저장하고 나열했을때 0까지 함께 나와버리네요 ㅠㅠ
어떻게 처리해줘야 할까요~? delete로 지워줘야 할까요??;
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2698184 | 간단한 C언어 인데 .. | 붕붕 | 2025-06-14 |
2698120 | -연산자 가 먼지 좀 알려주세요 (1) | 낮선검객 | 2025-06-14 |
2698091 | 길찾기문제 질문이요! | 노을빛 | 2025-06-13 |
2698060 | while 문에 대한 질문입니다. (9) | 물고기자리 | 2025-06-13 |
2698012 | 2~9가아닌수 | 아놀드 | 2025-06-13 |
2697980 | for에 gets함수를 넣으니까 왜 반복이 안되죠 ㅜ (2) | 펴라 | 2025-06-12 |
2697952 | 2차배열과 함수문의^^; | VanilLa | 2025-06-12 |
2697924 | 다차원 배열 질문있습니다 | 두동 | 2025-06-12 |
2697893 | 정올 :: 기초다지기 a9007 배열7 (문제가 이상함 -_-) | 흰두루 | 2025-06-12 |
2697862 | Unable......... 지정된 파일을 찾을 수 없습니다!! (1) | Creator | 2025-06-11 |
2697761 | 그러니까여제말은... (2) | 새론 | 2025-06-10 |
2697737 | 정올 문제좀 풀어보신분~ | 레오 | 2025-06-10 |
2697709 | rand함수 질문좀요! (6) | 가막새 | 2025-06-10 |
2697683 | C언어 변수뒤 표시가 이해안되는게 있습니다. | 소미 | 2025-06-10 |
2697660 | 껍데기딜 만들고 난후 어느핫키 누르면 코드검색이라도 뜨고 그다음 무반응 해결좀 (2) | 움찬 | 2025-06-09 |
2697634 | c언어로 감성사전 만들기! (1) | 도란도란 | 2025-06-09 |
2697605 | 이 함수좀... | agine | 2025-06-09 |
2697574 | 배열 기본적인질문 (3) | 민트향 | 2025-06-09 |
2697549 | 배열 초기화 (4) | 나리 | 2025-06-08 |
2697465 | 수다님...^^ (2) | 가론 | 2025-06-08 |