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
   430   431   432   433   434   435   436   437   438   439   440