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
   452   453   454   455   456   457   458   459   460   461   462