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

58  }
                     59
                     60  /*--- 큐의 종료 ---*/
                     61  void Terminate(IntQueue *q)
                     62  {
                     63    if(q->que != NULL)
                     64      free(q->que);             /* 메모리 공간에 할당한 배열 해제 */
                     65    q->max = q->num = q->front = q->rear = 0;
                     66  }



                   피크 함수 Peek

                   Peek 함수는 맨 앞의 데이터(디큐에서 꺼낼 데이터)를 ‘몰래 엿보는’ 함수로, que[front]의 값을
                   출력만 합니다. 데이터를 꺼내지 않아 front, rear, num의 값이 변하지 않습니다. 피크에 성
                   공하면 0, 실패하면 –1을 반환합니다.



                   모든 데이터를 삭제하는 함수 Clear
                   Clear 함수는 현재 큐의 모든 데이터를 삭제하는 함수입니다.
                      인큐, 디큐는 num, front, rear 값을 바탕으로 값을 0으로 바꿉니다. 실제 큐의 배열 요소의 값을 바꿀 필요가 없습니다.


                   최대 용량을 확인하는 함수 Capacity
                   Capacity 함수는 큐의 최대 용량을 반환하는 함수입니다(멤버 max 값을 그대로 반환).



                   데이터 개수를 확인하는 함수 Size
                   Size 함수는 현재 큐의 데이터 개수를 반환하는 함수입니다(멤버 num 값을 그대로 반환).



                   큐가 비어 있는지 판단하는 함수 IsEmpty
                   IsEmpty 함수는 큐가 비어 있는지 판단하는 함수입니다. 비어 있으면 1, 그렇지 않으면 0을
                   반환합니다.



                   큐가 가득 찼는지 판단하는 함수 IsFull
                   IsFull 함수는 큐가 가득 찼는지 판단하는 함수입니다. 가득 찼으면 1, 그렇지 않으면 0을 반
                   환합니다.








                   156   C 알고리즘
   151   152   153   154   155   156   157   158   159   160   161