안녕하세요 .

 

노드를 추가하려면 루트 노드를 기준으로 그 값이 큰지 작은지 비교를 해야 합니다.

작으면 왼쪽 노드로 크면 오른쪽 노드로 연결을 합니다.

 

에를들어 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;

}