Page 412 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 412
노드를 표현하는 구조체 BinNode
이진검색트리의 개별 노드는 자기 참조형 구조
체인 BinNode입니다. 그림 10-9처럼 3개의 BinNode
data
멤버로 구성되어 있습니다. left 왼쪽 자식 노드에 대한 포인터
right 오른쪽 자식 노드에 대한 포인터
• data … 회원 데이터
• left … 왼쪽 자식 노드에 대한 포인터
• right … 오른쪽 자식 노드에 대한 포인터
Node Node
[그림 10-9] 노드를 나타내는 구조체 BinNode
앞으로 left, right를 각각 왼쪽 포인터, 오른쪽
포인터라고 부르겠습니다.
실습 10-2[A] •완성 파일 chap10/BinTree.c
01 /* 이진검색트리 프로그램(소스) */
02 #include <stdio.h>
03 #include <stdlib.h>
04 #include "Member.h" 실습 11-1에서 작성
05 #include "BinTree.h"
06
07 /*--- 노드를 동적으로 할당 ---*/
08 static BinNode *AllocBinNode (void)
09 {
10 return calloc(1, sizeof(BinNode));
11 }
12
13 /*--- 노드 멤버의 값 설정 ----*/
14 static void SetBinNode(BinNode *n, const Member *x, const BinNode *left, const BinNode *right)
15 {
16 n->data = *x; /* 데이터 */
17 n->left = left; /* 왼쪽 자식 노드에 대한 포인터 */
18 n->right = right; /* 오른쪽 자식 노드에 대한 포인터 */
19 }
20 (실습 10-2[B]에서 계속)
412 C 알고리즘