Page 282 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 282

IsMember(s, 22)로 먼저 조사합니다.
                     22를 삭제
                                            0   1   2   ❸    4   5    6   ❼    8   9
                    Remove(&s, 22);        52   63   14   22   93   64   25   -   -   -
                                                                       num을 1만큼 감소합니다
                                           52   63   14   25   93   64   -   -   -   -
                                            0   1   2   ❸    4   5    ❻   7    8   9

                                                [그림 7-9] 삭제

                     실습 7-2[B]                                                •완성 파일 chap07/IntSet.c

                     01  /*--- 집합 s에 넣을 수 있는 최대의 원소 개수를 반환 ---*/
                     02  int Capacity (const IntSet *s)
                     03  {
                     04    return s->max;
                     05  }
                     06
                     07  /*--- 집합 s의 원소 개수를 반환 ---*/
                     08  int Size (const IntSet *s)
                     09  {
                     10    return s->num;
                     11  }
                     12
                     13  /*--- 집합 s2를 s1에 대입 ---*/
                     14  void Assign (IntSet *s1, const IntSet *s2)
                     15  {
                     16    int i;
                     17    int n =(s1->max < s2->num) ? s1->max : s2->num; /* 복사하는 원소의 개수 */
                     18    for(i = 0; i < n; i++)
                     19      s1->set[i] = s2->set[i];
                     20    s1->num = n;
                     21  }
                     22
                     23  /*--- 집합 s1과 s2가 같은지 확인 ---*/
                     24  int Equal (const IntSet *s1, const IntSet *s2)
                     25  {
                     26    int i, j;
                     27    if(Size(s1) != Size(s2))
                     28      return 0;
                     29    for(i = 0; i < s1->num; i++) {
                     30      for(j = 0; j < s2->num; j++)
                     31        if(s1->set[i] == s2->set[j])




                   282   C 알고리즘
   277   278   279   280   281   282   283   284   285   286   287