
1) 공백 큐 생성: createQueue();
2) 원소 A 삽입: enQueue(A);
3) 원소 B 삽입: enQueue(B);
4) 원소 반환/삭제: deQueue();
5) 원소 C 삽입: enQueue(C);
6) 원소 반환/삭제: deQueue();
7) 원소 반환/삭제: deQueue();


선형큐
1차원 배열을 이용한 큐
큐의 크기 = 배열의 크기
front: 저장된 첫 번째 원소의 인덱스 / 마지막으로 삭제된 deQueue된 원소의 인덱스
rear: 마지막으로 저장된 원소의 인덱스
상태표현
초기 상태: front = rear = -1
공백 상태: front == rear
포화 상태: rear == n-1 (n: 배열의 크기, n-1 배열의 마지막 인덱스)
초기 공백 큐 생성
크기 n인 1차원 배열 생성
front와 rear를 -1로 초기화
삽입
마지막 원소 뒤에 새로운 원소를 삽입하기 위해
rear 값을 하나 증가시켜 새로운 원소를 삽입할 자리 마련
그 인덱승 해당하는 배열원소 Q[rear]에 item을 저장
삭제
가장 앞에 있는 원소 삭제하기 위해
front 값을 증가시켜 큐에 남아있게 될 첫번째 원소 이동
새로운 첫 번째 원소 리턴 함으로써 삭제와 동일한 기능함
*front가 말하는 자리는 이미 꺼내진 자리
공백상태 및 포화상태 검사: isEmpty(), isFull()
공백상태: front == rear
포화상태: rear == n - 1 (n-1 은 배열의 마지막 인덱스)
검색: Qpeek()
가장 앞의 원소를 검색해 반환하는 연산
현재 front 한자리 뒤(front + 1)에 있는 원소, 즉 큐의 첫 번째에 있는 원소 반환
읽어만 오는 것






rear의 다음이 front와 같으면원형 큐 공백 및 포화 상태 검사 isEmpty(), isFull()

삽입: enQueue(item)

삭제: deQueue(), delete()

