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 알고리즘