본문 바로가기

CS 과목(CS科目)/자료 구조(Data Structure)

원형 큐(Circular Queue)를 사용하는 이유!!!

일반 적으로 큐는 push와 pop을 반복하다보면 점점 큐는 오른쪽으로 이동하게 된다.

그렇다면 결국,큐 배열의 최대 공간 까지 밖에 사용할 수 없다.

이를 보완하기 위해 원형큐를 이용하여 계속해서 공간을 활용 할 수 있다.

최대공간크기의 -1 의 다음 공간은 0으로 하여 연속적으로 저장할 수 있게 한다.

큐가 가득 찬 것을 알기 위해서 front가 위치한 곳은 데이터를 저장할 수 없도록 비워둔다.

%와 maxQueueSize를 이용하여 front와 rear값은 증가하지만,

같은 maxQueueSize만큼의 공간 에서만 데이터를 저장하도록 한다.

이때 , front와 rear의 초기값은 0으로 시작한다.

front와 rear의 값이 같다면 empty 조건이며,

rear+1의 위치가 front 와 같게 된다면 full의 조건이 된다는 것을 생각 할 수 있다. (front의 공간은 항상 비워두기 때문)

\