Page 425 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 425
17 scanf("%d", &ch);
18 } while(ch < TERMINATE || ch > PRINT);
19 return(Menu)ch;
20 }
21
22 /*--- 메인 함수 ---*/
23 int main (void)
24 {
25 Menu menu;
26 BinNode *root = NULL; /* 이진검색트리의 루트 노드 포인터 */
27 do {
28 Member x;
29 BinNode *temp;
30 switch(menu = SelectMenu()) {
31 /*--- 노드를 삽입 ---*/
32 case ADD :
33 x = ScanMember("삽입", MEMBER_NO | MEMBER_NAME);
34 root = Add(root, &x);
35 break;
36
37 /*--- 노드를 삭제 ---*/
38 case REMOVE :
39 x = ScanMember("삭제", MEMBER_NO);
40 Remove(&root, &x);
41 break;
42
43 /*--- 노드를 검색 ---*/
44 case SEARCH :
45 x = ScanMember("검색", MEMBER_NO);
46 if((temp = Search(root, &x)) != NULL)
47 PrintLnMember(&temp->data);
48 break;
49
50 /*--- 모든 노드를 출력 ---*/
51 case PRINT :
52 puts("【모든 노드 출력】");
53 PrintTree(root);
54 break;
55 }
56 } while(menu != TERMINATE);
10•트리 425