Page 457 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 457
25
26 /*--- 모든 데이터 삭제 ---*/
27 void Clear(ClosedHash *h)
28 {
29 int i;
30 for(i = 0; i < h->size; i++) /* 모든 버킷을 */
31 h->table[i].stat = Empty; /* 공백으로 만듭니다. */
32 }
33
34 /*--- 해시 테이블 종료 ---*/
35 void Terminate(ClosedHash *h)
36 {
37 Clear(h); /* 모든 데이터 삭제 */
38 free(h->table); /* 해시 테이블 배열의 메모리 해제 */
39 h->size = 0; /* 해시 테이블 크기를 클리어 */
40 }
실습 11-8 •완성 파일 chap11/ClosedHashTest.c
01 /* 오픈 주소법으로 구현한 해시 사용 */
02
03 #include <stdio.h>
04 #include "Member.h"
05 #include "ClosedHash.h"
06
07 /*--- 메뉴 ---*/
08 typedef enum {
09 TERMINATE, ADD, DELETE, SEARCH, CLEAR, DUMP
10 } Menu;
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
11•해시 457