Queue
Queue는 FIFO 방식으로 원소를 저장하고 가져올 수 있는 자료구조다.
먼저 추가된 원소가 먼저 나오는 구조를 가지고 있다.
예시
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <queue>
int main() {
std::queue<int> q; // 선언
// 원소 추가
ls.push(1);
ls.push(2);
ls.push(3);
// 원소 제거
ls.pop();
// 가장 앞에 있는 원소 출력
cout << ls.front() << endl;
// 가장 뒤에 있는 원소 출력
cout << ls.back() << endl;
}
필요 헤더
std::queue<자료형>
1
#include <queue>
선언
1
std::queue<int> q;
원소 추가 & 제거
std::queue::push()
std::queue::pop()
1
2
3
4
5
// queue의 맨 뒤에 원소 추가한다
q.push(1);
// queue의 맨 앞 원소를 삭제한다
q.pop();
원소 가져오기
std::queue::front()
std::queue::back()
1
2
3
4
5
// queue의 맨 앞 원소를 가져온다
value = q.front();
// queue의 맨 뒤 원소를 가져온다
value = q.back();
front()
는 가장 오래된 원소, pop()
호출시 제거되는 원소를 리턴한다.
back()
은 가장 최근에 추가한 원소를 리턴한다.
기타
std::queue::size()
std::queue::empty()
1
2
3
4
5
// queue에 저장된 원소의 개수를 가져온다
int size = q.size();
// queue가 비었는지 여부를 가져온다
bool is_empty = q.empty();