
[STL] Queue 생성, 삽입, 삭제 등 사용법
Notepad96
·2020. 11. 9. 10:09

1. queue
queue(큐)는 선입선출(FIFO)의 구조로서 가장 먼저 들어온 것이 가장 먼저나가는 자료 구조이다.
이는 간단하게 선착순 줄서기를 생각하면 된다.

마치 줄을 선 순서처럼 가장 먼저 줄을 선사람이 가장 먼저 순번이 찾아오는 것과 마찬가지이다.
STL에서는 stack처럼 queue도 템플릿 클래스로 구현되어 있어 간단한 멤버 함수들만 알고 있다면 간단하게 사용할 수 있다.
2. 코 드
#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()으로 얻을 수 있다.
3. 참 조
queue - C++ Reference
container_typeThe second template parameter (Container)Type of the underlying container
www.cplusplus.com
'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 |