큐(Queue)
큐(Queue)
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
Comments