그림 5-2를 보면 맨 처음 들어온 데이터 1이 맨 처음 나갑니다. 큐의 첫 데이터는 front가 가리키고 있으며, 큐의 마지막 데이터는 rear가 가리키고 있습니다.
이제 ADT를 기술하고 실제로 어떻게 구현할지 고민해 봅시다.
Queue
- Object
: FIFO 객체
- Operation
1. is_empty( ) -> Boolean
: 큐가 비어 있으면 TRUE, 아니면 FALSE 반환
2. is_full( ) -> Boolean
: 큐가 가득 찼으면 TRUE, 아니면 FALSE 반환
3. enqueue(data)
: 큐의 맨 뒤에 데이터 삽입
4. dequeue( ) -> element
: 큐의 맨 처음 데이터를 삭제하면서 반환
5. peek( ) -> element
: 큐의 맨 처음 데이터를 삭제하지 않고 반환만 함