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) 큐의 요소 갯수 반환