강좌 & 팁
글 수 2,412
2014.04.18 16:58:31 (*.192.89.130)
53860
안녕하세요 .
노드를 추가하려면 루트 노드를 기준으로 그 값이 큰지 작은지 비교를 해야 합니다.
작으면 왼쪽 노드로 크면 오른쪽 노드로 연결을 합니다.
에를들어 20을 추가하면 20은 루트노드보다 작기 때문에 왼쪽으로 추가됩니다.
예제를 보시면 이해가 쉽습니다.
예)
Tree* pNode;
pNode = (Tree*) malloc(sizeof(Tree);
pNode -> left = NULL; //iefr 노드가 없기 때문에 NULL로 설정
pNode -> right =NULL; //right 노드가 없기 때문에 NULL로 설정
pNode->data 20;
if(pNode->data < RootNode->data)
{
RootNode->left = pNode;
}
else if (pNode->data >RootNode->data)
{
RootNode->right =pNode;
}