10. Circular Queue items[0] items[1] items[2] items[maxQue-1] 논리적으로 배열의 시작과 끝이 이어져 있는 것으로 간주 items items[0] items[1] items[maxQue-1]
11. 경계조건 (boundary conditions) items[maxQue-1] front rear front rear Enqueue(a1) Enqueue(a2) front rear Enqueue(a3) front rear Dnqueue(x) front rear Queue is empty 인 상태 : rear == front a1 a1 a2 a1 a2 a3 a2 a3
12. 경계조건 (boundary conditions) front rear rear front Enqueue( … ) … Dequeue( … ) … rear front Enqueue( … ) ⇒ Queue is full Queue 가 empty 일 경우와 full 일 경우 모두 front = rear 가 되어 구분이 가능하지 않다 . 따라서 , Queue 가 full 인 상태 : (rear +1) % maxQue == front a2 a3