< 큐 >
- 한쪽 끝에서 원소를 넣고 반대쪽 끝에서 원소를 뺄 수 있는 자료구조
- 먼저 들어간 원소가 먼저 나온다 = FIFO(First In First Out)
< 큐의 성질 >
- 원소의 추가 = O(1)
- 원소의 제거 = O(1)
- 맨 앞/뒤 원소 확인 = O(1)
- 맨 앞/뒤가 아닌 나머지 원소들의 확인, 변경이 원칙적으로 불가능
< STL queue >
#include <bits/stdc++.h>
using namespace std;
int main(void) {
queue<int> Q;
Q.push(10);
Q.push(20);
Q.push(30);
cout << Q.size() << '\n';
if(Q.empty()) cout << "Q is empty\n";
else cout << "Q is not empty\n";
Q.pop();
cout << Q.front() << '\n';
cout << Q.back() << '\n';
Q.push(40);
Q.pop();
cout << Q.front() << '\n';
}
- 큐가 빈 상태에서 front, back, pop 을 호출하면 런타임 에러 발생!! (주의)