Queue(큐)의 개념
- 먼저 집어 넣은 데이터가 먼저 나오는 FIFO (First In First Out)구조로 저장하는 형식
- Stack(스택)과 반대되는 개념
- 데이터가 입력된 시간 순서대로 처리해야 할 필요가 있는 상황에 이용
Queue(큐)의 종류
- 선형(큐)
- 크기 제한
- 빈 공간을 사용하려면 모든 자료를 꺼내거나 자료를 한 칸씩 옮김
- 원형(큐)
- 선형 큐의 문제점을 보완
- front가 큐의 끝에 닿으면 큐의 맨 앞으로 자료를 보내어 원형으로 연결하는 방식
Queue(큐)의 메소드
배열을 이용한 큐
- getSize() : 큐의 크기를 반환
- isEmpty() : 큐가 비어있으면 true, 비어있지 않으면 false 반환
- isFull() : 큐가 가득 차있으면 true, 그렇지 않으면 false 반환
- enqueue() : ((rear+1) % size)번째 인덱스에 데이터 추가
- dequeue() : ((front+1) % size)번째 인덱스의 데이터 반환
- toString() : 큐의 모든 데이터를 반환
- clear() : 큐의 모든 데이터를 삭제