Page 453 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 453
0 1 2 3 4 5 6 7 8 9 10 11 12
- 14 - 29 - ★ 6 18 34 - 75 37 51
원하는 값을 찾을 때까지 재해시를 반복합니다.
[그림 11-11] 오픈 주소법 검색
오픈 주소법을 구현하는 프로그램의 헤더 ClosedHash.h가 실습 11-6, 소스 ClosedHash.c
가 실습 11-7입니다.
이 프로그램을 컴파일하려면 Member.h, Member.c, ClosedHash.h, ClosedHash.c가 필요합니다.
실습 11-6 •완성 파일 chap11/ClosedHash.h
01 /* 오픈 주소법으로 구현한 해시(헤더) */
02 #ifndef ___ClosedHash
03 #define ___ClosedHash
04
05 #include "Member.h"
06
07 /*--- 요소의 상태 ---*/
08 typedef enum {
09 Occupied, Empty, Deleted
10 } Status;
11
12 /*--- 요소 ---*/
13 typedef struct {
14 Member data; /* 데이터 */
15 Status stat; /* 요소의 상태 */
16 } Bucket;
17
18 /*--- 해시 테이블 ---*/
19 typedef struct {
20 int size; /* 해시 테이블의 크기 */
21 Bucket *table; /* 해시 테이블의 첫 번째 요소에 대한 포인터 */
22 } ClosedHash;
23
24 /*--- 해시 테이블 초기화 ---*/
25 int Initialize(ClosedHash *h, int size);
26
27 /*--- 검색 ---*/
11•해시 453