본문 바로가기

C

c++ stl deque 설명, 성능상 이슈

deque은 vector와 다르게 삽입, 제거 과정을 o(1)에 할 수 있다.

이게 가능한 이유는 deque는 벡터를 여러 공간에 저장하기 때문이다.

하지만 메모리 관점상 좋지 않다. (코딩테스트 할 때는 도움이 될지 모르겠다)

굳이 필요한 경우가 아니라면 vector를 사용하도록 하자.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <deque>
int main()
{
    std::deque<int> d = { 7,5,16,8 };
    //o1 time complexity
    d.push_front(13);
    d.emplace_back(15);
    d.push_back(25);
    d.emplace_back(16);
    for (int n : d)
    {
        std::cout << n << "\n";
    }
 
}