큐(Queue)

 

■ 원형 큐(Circular Queue)의 원리

다음 큐는 큐의 용량이 10이다. 이 큐에서 10번의 enqueue가 수행되면 큐의 끝에 도달한다. 이 때 dequeue도 8번 수행되었다면 실제로 큐에 빈 공간이 많이 있는데도 큐가 가득 찬 것이 된다. 큐도 스택과 마찬가지로 실제로는 많은 요소를 갖지 않은 상태에서 수 많은 기본연산을 수행하게 된다. 이와 같은 문제를 해결하는 방법이 원형 큐(circular queue)이다. 원형 큐는 q_front와 q_rear의 값이 배열의 끝에 도달하면 배열의 처음으로 되돌아가도록 하는 방법이다. 원형 큐를 사용할 때에는 큐가 비어있는지를 검사할 때 가장 확실한 방법은 q_size를 가지고 점검하는 것이다.