소스 이전에 알아둬야할 지식은 큐는 선입 선출로서 먼저 들어간 데이터가 먼저 나온다. 그리고 큐는 보통 원형 큐인데 사이즈가 5인 데이터 배열이 있다고 치자. 1 2 3 4 5 가 있으면 선입 선출로 데이터를 3개 뺐다고 가정하면 x x x 4 5가 되는데 다시 데이터를 넣으려니 사이즈가 5여서 넣을 수 가 없다.... 4 5 x x x 이렇게 되서 데이터를 4 5 6 7 x 이렇게 넣을 수 있는게 원형 큐이다.
원형 큐에서는 맨 처음 인덱스 값이 빈 상태로 데이터를 집어넣는다. x 1 2 3 이렇게 말이다. 이는 빈상태로 해야 full 과 empty를 구별 할 수 있기 때문이다.( 빈 상태가 아닐 경우 , front 0 rear -1로 초기화하는데 이렇게 초기화 됬을 때로 밑에 소스를 돌려볼 수 없다는 걸 알 수 있을 것이다.)
우리 눈에는 이 구조가 ㅁ ㅁ ㅁㅁ 이렇게 보이 겠지만 원형으로 되있다고 이해해야 front와 rear을 통한 큐 구조 이해가 쉽다. #include
#
c언어
#
원형큐
#
자료구조
#
큐
원문 링크 : C언어 자료구조_큐