큐(queue)는 한쪽 끝에서 데이터가 삽입되고 그 반대쪽 끝에서 삭제가 일어나는 순서 리스트이다. 큐에서는 제일 먼저 삽입된 원소가 제일 먼저 삭제되기 때문에 선입선출(FIFO : First-In-First-Out) 리스트 라고도한다.
큐를 만들때 배열을 이용할 경우 스택과는 반대로 나가는 데이터의 위치가 제일 먼저 들어온 데이터이기 때문에 일반적으로 위와 같이 원형 큐를 이용하여 만들게 된다.
front 와 rear를 이용하여 제일 먼저 나갈 데이터와 현재 데이터 중에 제일 나중에 나가게 될 데이터를 알 수 있는데 원형 큐를 사용할 때는 일반적으로 배열의 한칸을 비워둔 상태로 사용하게된다.
이것은 배열이 다 찼는지와 비어있는지를 판별하기 위함인데, front==rear 이면 배열이 비어있는 상태를 나타내고 rear+1==front 이면 배열이 full 임을 나타내게 된다.
간단한 원형 큐를 구현하여 아래와 같이 기록한다. 큐에 데이터를 입력하는 put함수와 출력을 위한 get함수가 있으며, 현재의 큐에 저장된 내용을 보여주는display함수도 구현하였다.
TRACKBACK 0 AND
COMMENT 2

Queue_Array_Circle.c
이올린에 북마크하기
이올린에 추천하기
PREV