CS 과목(CS科目)/자료 구조(Data Structure)
원형 큐(Circular Queue)를 사용하는 이유!!!
JIN_YOUNG _KIM
2023. 1. 15. 16:39
일반 적으로 큐는 push와 pop을 반복하다보면 점점 큐는 오른쪽으로 이동하게 된다.
그렇다면 결국,큐 배열의 최대 공간 까지 밖에 사용할 수 없다.
이를 보완하기 위해 원형큐를 이용하여 계속해서 공간을 활용 할 수 있다.
최대공간크기의 -1 의 다음 공간은 0으로 하여 연속적으로 저장할 수 있게 한다.

큐가 가득 찬 것을 알기 위해서 front가 위치한 곳은 데이터를 저장할 수 없도록 비워둔다.
%와 maxQueueSize를 이용하여 front와 rear값은 증가하지만,
같은 maxQueueSize만큼의 공간 에서만 데이터를 저장하도록 한다.
이때 , front와 rear의 초기값은 0으로 시작한다.
front와 rear의 값이 같다면 empty 조건이며,
rear+1의 위치가 front 와 같게 된다면 full의 조건이 된다는 것을 생각 할 수 있다. (front의 공간은 항상 비워두기 때문)
\