Stack은 LIFO(Last In First Out) 구조이다.
Queue는 First In First Out(FIFO) 형태로
먼저 들어온 데이터가 먼저 나가는 구조를 말한다.
음악을 틀 때, 게임을 할 때 우리는 큐라는 단어를 많이 사용하는데, 이는 큐에 추가 된 순서대로 데이터를
이용하기 때문이다.

Queue ADT에서 정의된 기본적인 명령어는
- enqueue/push : 큐에 데이터를 추가한다. (맨 뒤)
- dequeue/pop : 큐에서 데이터를 삭제한다.(맨 앞)
- front/head/top : 큐에서 맨 앞 데이터를 반환한다.
- back/tail/rear : 큐에서 맨 뒤 데이터를 반환한다.
- empty : 큐가 비어있는지에 대한 상태 반환한다.
- size : 큐의 크기 반환
큐는 데이터 사용에 있어서 공정성을 추구하는 구조타입이다.
마트에서 물건을 진열할 때 남은 유통기한이 가장 짧은 물건을 맨 앞에 진열하듯이
선입선출(FIFO)을 필요로 할 때 사용한다.
c++ queue 라이브러리 사용 예시


사진 : https://images.app.goo.gl/E4fP1cg2vuFcnrkTA