C, C++
<queue>
Yongs12
2023. 7. 6. 15:31
STL에 FIFO 구조로 만들어진 컨테이너로
내부적으로는 std::deque또는 std::list로 구현되어 있다.
deque 방식으로 만들어져 있어도 사용가능한 함수들은 queue에 맞게 인터페이스 함수를 제공한다.
FIFO: 가장 먼저 추가된 데이터가 가장 먼저 나가게 된다.
들어온 순서대로 처리하기에 용이하다.
#include <iostream>
#include <queue>
int main()
{
std::queue<int> queue;
// 데이터 추가
queue.push(1);
// 데이터 제거
queue.pop();
// 첫번째 요소 반환
const int data = queue.front();
// 마지막 요소 반환
const int data = queue.back();
// 비어있는지 확인
const bool isEmpty = queue.empty();
// 요소 갯수 반환
const size_t size = queue.size();
return 0;
}
std::queue 내장 함수들의 시간 복잡도
함수 | 시간 복잡도 | 설명 |
push() | O(1) | 큐의 뒤에 요소 추가 |
pop() | O(1) | 큐의 뒤에 요소 제거 |
front() | O(1) | 큐의 첫번째 요소 반환 |
back() | O(1) | 큐의 마지막 요소 반환 |
empty() | O(1) | 큐가 비어 있는지 확인 |
size() | O(1) | 큐의 요소 갯수 반환 |