큐의 활용
- 자료를 생성하는 작업과 그 자료를 이용하는 작업이 비동기적으로 (asynchronously) 일어나는 경우
- 자료를 생성하는 작업이나 이용하는 작업이 여러 곳에서 일어나는 경우
- 자료를 생성하는 작업과 그 자료를 이용하는 작업이 양쪽 다 여러 곳에서 일어나는 경우
위와 같은 일반적인 큐의 이용은 컴퓨터 시스템에서 주로 사용하는 자료구조이다.
- 자료를 처리하여 새로운 자료를 생성하고, 나중에 그 자료를 또 처리해야 하는 작업의 경우
환형 큐
정해진 개수의 저장 공간을 빙 돌려가며 이용
- 자원이 무한정이 아니므로 큐의 최대 개수를 정해두고 사용하는 경우가 많음
- 배열을 이용하여 큐를 구현하면, 앞의 원소를 제거할 때 원소들을 당겨야 하므로 복잡도가 늘어난다.
이때 데이터를 집어넣는 쪽에서는 rear, 꺼내는 쪽은 front라는 포인터를 가진다
정해진 저장 공간이 있으므로, 큐가 가득 차면 더이상 원소를 넣을 수 없어야 한다
—> 큐의 길이를 판단할 수 있어야 함
환형 큐의 추상적 자료구조 구현
연산의 정의