일반 적으로 큐는 push와 pop을 반복하다보면 점점 큐는 오른쪽으로 이동하게 된다.
그렇다면 결국,큐 배열의 최대 공간 까지 밖에 사용할 수 없다.
이를 보완하기 위해 원형큐를 이용하여 계속해서 공간을 활용 할 수 있다.
최대공간크기의 -1 의 다음 공간은 0으로 하여 연속적으로 저장할 수 있게 한다.

큐가 가득 찬 것을 알기 위해서 front가 위치한 곳은 데이터를 저장할 수 없도록 비워둔다.
%와 maxQueueSize를 이용하여 front와 rear값은 증가하지만,
같은 maxQueueSize만큼의 공간 에서만 데이터를 저장하도록 한다.
이때 , front와 rear의 초기값은 0으로 시작한다.
front와 rear의 값이 같다면 empty 조건이며,
rear+1의 위치가 front 와 같게 된다면 full의 조건이 된다는 것을 생각 할 수 있다. (front의 공간은 항상 비워두기 때문)
\
'CS 과목(CS科目) > 자료 구조(Data Structure)' 카테고리의 다른 글
DB Index에서 사용되는 B tree(데이터 삽입) (0) | 2023.03.10 |
---|---|
Deque(덱) (0) | 2023.01.20 |
Stack, Queue, List, set 등의 자료구조 사용 시 주의 사항 (0) | 2023.01.13 |
기술 문서에서 Queue라는 용어를 만났을 때의 주의점 (0) | 2023.01.13 |
Stack vs Queue(dequeue) 사용이 적절할 때 or 관련 에러(in JAVA) (0) | 2023.01.13 |