Page 446 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 446
실습 11-5는 체인 해시를 사용하는 프로그램입니다.
이 프로그램을 컴파일하려면 Member.h, Member.c, ChainHash.h, ChainHash.c가 필요합니다.
실습 11-5 •완성 파일 chap11/ChainHashTest.c
01 /* 체인 해시(ChainHash)의 사용 */
02 #include <stdio.h>
03 #include "Member.h"
04 #include "ChainHash.h"
05
06 /*--- 메뉴 ---*/
07 typedef enum {
08 TERMINATE, ADD, DELETE, SEARCH, CLEAR, DUMP
09 } Menu;
10
11 /*--- 메뉴 선택 ---*/
12 Menu SelectMenu(void)
13 {
14 int ch;
15 do {
16 printf("(1) 추가 (2) 삭제 (3) 검색 (4) 모두 삭제 (5) 덤프 (0) 종료 : ");
17 scanf("%d", &ch);
18 } while(ch < TERMINATE || ch > DUMP);
19 return(Menu)ch;
20 }
21
22 /*--- 메인 ---*/
23 int main(void)
24 {
25 Menu menu; /* 메뉴 */
26 ChainHash hash; /* 해시 테이블 */
27 Initialize(&hash, 13); /* 해시 테이블 초기화 */
28 do {
29 int result;
30 Member x;
31 Node *temp;
32 switch(menu = SelectMenu()) {
33 case ADD : /*--- 데이터 추가 ---*/
34 x = ScanMember("추가", MEMBER_NO | MEMBER_NAME);
35 result = Add(&hash, &x);
36 if(result)
446 C 알고리즘