Page 292 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 292
unsigned long형의 비트 벡터로 집합을 구현하는 프로그램을 작성해 보겠습니다. 실습 7-5
는 프로그램의 헤더입니다.
실습 7-5 •완성 파일 chap07/BitSet.h
01 /* 비트 벡터 집합 BitSet(헤더) */
02 #ifndef ___BitSet
03 #define ___BitSet
04
05 typedef unsigned long BitSet; /* 집합을 나타내는 자료형 */
06
07 #define BitSetNull (BitSet)0 /* 공집합 */
08 #define BitSetBits 32 /* 유효 비트 수 */
09 #define SetOf(no) ((BitSet)1 <<(no)) /* 집합 {no} */
10
11 /*--- 집합 s에 n이 있는지 확인 ---*/
12 int IsMember(BitSet s, int n);
13
14 /*--- 집합 s에 n을 추가 ---*/
15 void Add(BitSet *s, int n);
16
17 /*--- 집합 s에서 n을 삭제 ---*/
18 void Remove(BitSet *s, int n);
19
20 /*--- 집합 s의 원소 개수를 반환 ---*/
21 int Size(BitSet s);
22
23 /*--- 집합 s의 모든 원소를 출력 ---*/
24 void Print(BitSet s);
25
26 /*--- 집합 s의 모든 원소를 출력(줄 바꿈 문자 포함) ---*/
27 void PrintLn(BitSet s);
28
29 #endif
292 C 알고리즘