[STL] Queue 생성, 삽입, 삭제 등 사용법
Notepad96
·2020. 11. 9. 10:09
300x250
1. queue
queue(큐)는 선입선출(FIFO)의 구조로서 가장 먼저 들어온 것이 가장 먼저나가는 자료 구조이다.
이는 간단하게 선착순 줄서기를 생각하면 된다.
마치 줄을 선 순서처럼 가장 먼저 줄을 선사람이 가장 먼저 순번이 찾아오는 것과 마찬가지이다.
STL에서는 stack처럼 queue도 템플릿 클래스로 구현되어 있어 간단한 멤버 함수들만 알고 있다면 간단하게 사용할 수 있다.
2. 코 드
환경 : Visual Studio 2019
#include <iostream>
#include <queue>
using namespace std;
int main() {
queue<int> q;
if (q.empty()) {
cout << "큐가 비어있습니다.\n";
}
q.push(5); // 5
q.push(3); // 5 3
q.push(2); // 5 3 2
q.push(4); // 5 3 2 4
q.push(7); // 5 3 2 4 7
q.pop(); // 3 2 4 7
cout << "사이즈 : " << q.size() << "\n";
cout << "맨 앞 : " << q.front() << "\n";
cout << "맨 뒤 : " << q.back() << "\n";
while (!q.empty()) {
cout << q.front() << " ";
q.pop();
}
cout << "\n";
return 0;
}
- empty : 큐가 비어있는지 검사한다. 비어있다면 true
- size : 큐에 길이를 구한다.
- stack에서는 top 멤버 함수로 다음의 pop될 가장 나중에 들어온 원소를 찾았다면
queue에서는 front와 back 멤버 함수가 존재한다.
queue는 가장 먼저 들어온 것이 가장 앞서서 나가므로 이는 front()에 해당하며
가장 나중에 들어온 데이터는 back()으로 얻을 수 있다.
3. 참 조
300x250
'C++ > Container' 카테고리의 다른 글
[STL] Bitset 생성 및 초기화 사용법 (0) | 2020.11.10 |
---|---|
[STL] Priority_queue 생성, 삽입, 삭제 등 사용법 (0) | 2020.11.09 |
[STL] Stack 생성, 삽입, 삭제 등 사용법 (0) | 2020.11.08 |
[STL] Unordered_map, multimap 생성, 삽입, 삭제 등 사용법 (0) | 2020.11.08 |
[STL] Unordered_set, multiset 생성, 삽입, 삭제 등 사용법 (1) | 2020.11.07 |