큐는 아주 간단하다. 매우 익숙한 자료구조이다. 우리가 일반적으로 줄을 스는걸 생각하면 아주 편하다.
예를 들어 음식점을 갈때도 줄을 서고, 공연장에 입장할 때도 줄을 선다.
이러한 선입선출 구조의 자료구조가 큐이다. 영어로는 FIFO(First-In, First-Out)이라고 한다.
큐도 스택과 마찬가지로 ADT가 정형화 되어있는 편이다.
큐의 핵심이 되는 두 가지 연산
스택에서 데이터를 넣고 빼는 연산을 push, pop이라고 했었던 것처럼, 큐에서는 데이터를 넣고 빼는 연산을 enqueue, dequeue라고 한다.
void QueueInit(Queue * pq);
int QIsEmpty(Queue * pq);
void Enqueue(Queue * pq, Data data);
Data Dequeue(Queue * pq);
Data QPeek(Queue * pq);