vector와 크게 다르지 않다.
deque가 vector와 다른점은 메모리 블록 할당 정책입니다. vector의 장점이자 단점인 하나의 메모리 블록 할당 정책은 배열처럼 정수 연산마으로 원소에 접근하고 빠르게 값을 읽고 쓸수 있습니다. ㅣ 하지만 새로운 원소가 추가될 때 메모리 재할당과 이전 원소 복사 문제가 발생하여 성능이 저하될 수 있습니다.
deque는 이처럼 vector의 단점을 해결하기 위해 여러개의 메모리 블록을 할당하고 사용자에게는 하나의 블록처럼 보이게 하는 정책을 사용합니다. 원소의 추가 시 메모리가 부족할 때마다 일정한 크기의 새로운 메모리 블록을 할당하여 이전 메모리를 제거하거나 이전 원소를 복사하는등의 연산을 수행하지 않습니다.
deque는 앞쪽에 원소를 추가/제거ㅏ할 수 있으므로 push_front() 멤버 함수와 push_back() 멤버 함수를 제공합니다.
dq.push_front(100); // 앞쪽에 추가합니다.
insert 를 할경우 더 적은 쪽으로 요소들을 밀어내며 삽입하게 된다.