|
트리 공부하다가 궁금한 부분이 생겼습니다...
만약 루트의 값보다 작으면 왼쪽으로 보내지는 부분입니다.
그런데 다행이 왼쪽이 비어있다면 곧바로 아래와 같이 추가하는데,
이미 채워져 있다면 pt = pt->Left; 이던데...
이게 정확히 어떤 의미이죠?
if( pt->data > data ) //루트의 데어터보다 작으면 왼쪽으로 보낸다.
{
if( pt->Left == NULL) //루트 왼쪽 비어있으면
{
temp = malloc( sizeof( struct Node) );
temp->data = data; temp에 새로운데이터 채우고
pt->Left = temp; 그녀석을 왼쪽 심볼로 삼는다.
temp->Left = NULL; temp의 왼쪽 뿌리 내리고
temp->Right = NULL; temp의 오른쪽 뿌리도 내리고
return;
}
else
{ pt = pt->Left; }
}
|