|
트리에서 하나의 노드 삭제후 자식노드들중 하나를 가져와 채우는 부분 입니다.
언어는 파스칼이지만, 금발 알아 볼 수 있을 껍니다.
궁금한 것은..
mygp = exit 부분인데..
mygp 가 이미 dispose 라는 함수로 메모리 해제 되었는데..
그 아래.. exist 를 대입해 주는 이유는 무슨 영문인가요?
begin
new(temp_2);
temp_2 := mygp;
mygp := mygp^.right; // 오른쪽을 올린다.
end
else // 왼쪽 노드에 주소값이 있다면
begin
new(exist); // 새로운 노드 생성
exist := subtree(mygp^.left); // 대체노드를 대입
exist^.left := mygp^.left; // 이전 노드의 포인팅 정보 전달
exist^.right := mygp^.right;
dispose(mygp); // 실제적으로 삭제 된다
mygp := exist;
end;
|