Page 435 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 435
05 #include "Member.h"
06
07 /*--- 버킷을 나타내는 노드 ---*/
08 typedef struct __node {
09 Member data; /* 데이터 */
10 struct __node *next; /* 다음 노드에 대한 포인터 */
11 } Node;
12
13 /*--- 해시 테이블 ---*/
14 typedef struct {
15 int size; /* 해시 테이블의 크기 */
16 Node **table; /* 해시 테이블의 첫 번째 요소에 대한 포인터 */
17 } ChainHash;
18
19 /*--- 해시 테이블 초기화 ---*/
20 int Initialize(ChainHash *h, int size);
21
22 /*--- 검색 ---*/
23 Node *Search(const ChainHash *h, const Member *x);
24
25 /*--- 데이터 추가 ---*/
26 int Add(ChainHash *h, const Member *x);
27
28 /*--- 데이터 삭제 ---*/
29 int Remove(ChainHash *h, const Member *x);
30
31 /*--- 해시 테이블 덤프(dump) ---*/
32 void Dump(const ChainHash *h);
33
34 /*--- 모든 데이터 삭제 ---*/
35 void Clear(ChainHash *h);
36
37 /*--- 해시 테이블 종료 ---*/
38 void Terminate(ChainHash *h);
39 #endif
data : 버킷에 담을 Member형 데이터입니다(두 멤버로 구성됩니다).
next : 체인법을 구성하는 연결 리스트의 다음 노드에 대한 포인터입니다. 다음 노드가 없으면 NULL이 됩니다.
11•해시 435