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

17  }
                     18
                     19  /*--- 스택은 가득 찼는가? ---*/
                     20  int IsFull(const IntStack *s)
                     21  {
                     22     return s->ptr >= s->max;
                     23  }
                     24
                     25  /*--- 스택에서 검색 ---*/
                     26  int Search(const IntStack *s, int x)
                     27  {
                     28     int i;
                     29     for(i = s->ptr - 1; i >= 0; i--)    /* 꼭대기(top) → 바닥(bottom)으로 선형 검색 */
                     30       if(s->stk[i] == x)
                     31         return i;                  /* 검색 성공 */
                     32     return -1;                     /* 검색 실패 */
                     33  }
                     34
                     35  /*--- 모든 데이터 출력 ---*/
                     36  void Print(const IntStack *s)
                     37  {
                     38     int i;
                     39     for(i = 0; i < s->ptr; i++)       /* 바닥(bottom) → 꼭대기(top)로 스캔 */
                     40       printf("%d ", s->stk[i]);
                     41     putchar( '\n');
                     42  }
                     43
                     44  /*--- 스택 종료 ---*/
                     45  void Terminate(IntStack *s)
                     46  {
                     47     if(s->stk != NULL)
                     48       free(s->stk);                  /* 배열을 삭제 */
                     49     s->max = s->ptr = 0;
                     50  }



                   용량을 확인하는 함수 Capacity
                   Capacity 함수는 스택의 용량(멤버 max의 값)을 반환하는 함수입니다.









                   138   C 알고리즘
   133   134   135   136   137   138   139   140   141   142   143