Queue의 사전적 의미는 무엇을 기다리는 사람, 차량 등의 줄 혹은 줄을 서서 기다리는 것을 의미한다. 이처럼 줄을 지어 순서대로 처리되는 자료구조가 큐이다. Queue는 먼저 들어간 것이 먼저 나오는 First in First Out의 형태를 가진다.
- 먼저 들어간 자료가 먼저 나오는 구조 FIFO(First In FIrst Out) 구조큐는 한 쪽 끝은 프런트(front)로 정하여 삭제 연산만 수행함
- 다른 한 쪽 끝은 리어(rear)로 정하여 삽입 연산만 수행함
어떻게 사용하는가?
#include <queue> // Queue가 포함된 헤더파일
queue<int> q; // int형 큐 선언, 다른 자료형을 넣어도 됨
q.push(x); // 큐에 데이터 x를 입력한다.
q.pop(); // 큐의 데이터를 삭제한다.
q.size(); // 큐안에 있는 원소의 갯수를 반환한다.
q.empty(); // 큐이 비어 있는지 판단한다.
q.front(); // 큐의 프런트값을 반환한다.
q.back(); // 큐의 백값을 반환한다.
관련 문제
- BOJ 10845 큐 <https://www.acmicpc.net/problem/10845>
- BOJ 2164 카드2 <https://www.acmicpc.net/problem/2164>
- BOJ 1966 프린터 큐 <https://www.acmicpc.net/problem/1966>
- BOJ 3078 좋은친구 <https://www.acmicpc.net/problem/3078>
'STL' 카테고리의 다른 글
그래프(Graph) (0) | 2022.03.11 |
---|---|
벡터(Vector) (0) | 2022.03.11 |
덱(Deque) (0) | 2022.03.11 |
스택(Stack) (0) | 2022.03.11 |
댓글