Queue는 선형자료구조로 First In First Out(FIFO) 구조를 따릅니다.
FIFO는 선입선출을 의미합니다.
한쪽 끝에서는 삽입만 일어나고 다른 한쪽 끝에서는 삭제만 일어납니다.


Simpe Queue
가장 기본적은 Queue로 한쪽 끝에서만 삽입이 일어나고 다른 한쪽 끝에서는 삭제만 일어납니다.
Double-Ended Queue(Dequeue)
양쪽 끝에서 삽입과 삭제가 둘 다 일어날 수 있습니다.
약간의 변형도 존재합니다.
Circular Queue
특별한 형태의 Queue로 시작과 끝이 연결되어 원형 구조를 이루는 Queue를 말합니다.

Priority Queue
특별한 형태의 Queue로 Queue의 요소들이 우선순위에 따라 접근이 됩니다.
Priority Queue는 Heap과 Queue 두 개의 자료 구조를 이용해 구현하는 것이 일반적입니다.
2가지 유형이 있습니다.
Enqueue
큐의 끝에 값을 삽입합니다.
Dequeue
큐의 끝에서 값을 가져오고 삭제합니다.
Peek or front
큐의 맨 앞의 값을 삭제 없이 확인합니다.
rear
큐의 맨 끝의 값을 삭제 없이 확인합니다.
isFull
큐가 꽉 찼는지 확인합니다.
IsEmpty
큐가 비었는지 확인합니다.