안녕 저는 BST를 쓰고 Child를 추가하기위한 다음 함수를 작성했습니다.이 함수의 문제점은 무엇입니까
void addChild(T value)
{
temp = root;
while(0 != temp)
{
temp1 = temp;
if(value > temp->getValue())
temp = temp->getRightChild();
else
temp = temp->getLeftChild();
}
if(temp1->getValue() > value)
{
temp1->setRightChild(new Child(value));
}
else
{
temp1->setLeftChild(new Child(value));
}
}
"23 12 122 1 121 15"를 입력하고 있습니다. 루트는 클래스의 생성자에서 만들고있는 노드 23입니다.
문제점 : 트리 트래버스를 수행 할 때 나는 출력으로 23과 15 만 얻고 있습니다. 질문 :이 기능에서 내가 뭘 잘못하고 있니?
아마도 트래버 설 기능에 문제가 있습니까? 또한 'temp'변수와 'temp1' 변수에 대한 선언이 표시되지 않습니다. 그들은 글로벌입니까 ?? 어쨌든 디버거 (예 :'gdb')를 사용하여 코드를 따르는 것이 좋습니다. 문제를 찾기가 아주 간단해야합니다. – davka