Page 454 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 454

28  Bucket *Search(const ClosedHash *h, const Member *x);
                     29
                     30  /*--- 데이터 추가 ---*/
                     31  int Add(ClosedHash *h, const Member *x);
                     32
                     33  /*--- 데이터 삭제 ---*/
                     34  int Remove(ClosedHash *h, const Member *x);
                     35
                     36  /*--- 해시 테이블 덤프 ---*/
                     37  void Dump(const ClosedHash *h);
                     38
                     39  /*--- 모든 데이터 삭제 ---*/
                     40  void Clear(ClosedHash *h);
                     41
                     42  /*--- 해시 테이블 종료 ---*/
                     43  void Terminate(ClosedHash *h);
                     44  #endif



                    실습 11-7[A]                                           •완성 파일 chap11/ClosedHash.c

                     01  /* 오픈 주소법으로 구현한 해시(소스) */
                     02
                     03  #include <stdio.h>
                     04  #include <stdlib.h>
                     05  #include "Member.h"
                     06  #include "ClosedHash.h"
                     07
                     08  /*--- 해시 함수(key의 해시 값을 반환) ---*/
                     09  static int hash(int key, int size)
                     10  {
                     11    return key % size;
                     12   }
                     13  /*--- 재해시 함수 ---*/
                     14  static int rehash(int key, int size)
                     15  {
                     16    return(key + 1) % size;
                     17  }
                     18
                     19  /*--- 노드의 각 멤버에 값을 설정 ----*/
                     20  static void SetBucket(Bucket *n, const Member *x, Status stat)





                   454   C 알고리즘
   449   450   451   452   453   454   455   456   457   458   459