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
   280   281   282   283   284   285   286   287   288   289   290