donchanee

[원형 큐] 삽입과 삭제 본문

프로그래밍/자료구조

[원형 큐] 삽입과 삭제

donchanee 2019. 12. 24. 09:52
728x90

< 문제 설명 >
비어있는 원형 큐가 생성되었다.
1이 enqueue 되었다.
2가 enqueue 되었다.
3이 enqueue 되었다.
3이 dequeue 되었다.

 

이러한 조건 속에서 예외상황이 2가지가 발생한다.

1. Overflow

2. Underflow

 

원형큐가 꽉 찼을때 (Overflow) 와 아무것도 없는데 dequeue 했을때 (Underflow) 의 경우이다.

 

   1. Overflow                                                                                                     2. Underflow

 

두가지 예외사항 처리를 해주었다.

 

enqueue 에서 이미 큐가 꽉 차있을 경우 (rear+1) % queueSize 와 front % queueSize 의 값이 동일해지므로 overflow를 탐색할 수 있다.

dequeue 에서 rear % queueSize 와 front % queueSize 의 값이 동일할 때 큐에 원소가 없으므로 underflow를 탐색할 수 있다.