Page 285 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 285
16 int i, j;
17 s1->num = 0; /* s1을 공집합으로 만듭니다. */
18 for(i = 0; i < s2->num; i++) {
19 for(j = 0; j < s3->num; j++)
20 if(s2->set[i] == s3->set[j])
21 break;
22 if(j == s3->num)
23 Add(s1, s2->set[i]);
24 }
25 return s1;
26 }
27
28 /*--- 집합 s의 모든 원소를 출력 ---*/
29 void Print (const IntSet *s)
30 {
31 int i;
32
33 printf("{ ");
34 for(i = 0; i < s->num; i++)
35 printf("%d ", s->set[i]);
36 printf("}");
37 }
38
39 /*--- 집합 s의 모든 원소를 출력(줄 바꿈 문자 포함) ---*/
40 void PrintLn (const IntSet *s)
41 {
42 Print(s);
43 putchar('\n');
44 }
45
46 /*--- 집합 종료 ---*/
47 void Terminate (IntSet *s)
48 {
49 if(s->set != NULL) {
50 free(s->set); /* 배열 해제 */
51 s->max = s->num = 0;
52 }
53 }
07•집합 285