티스토리 뷰

자료구조/STL

[STL] Deque 덱

히더 2018. 9. 30. 14:35

Deque 덱

Double Ended Queue 자료구조다. 즉 queue와 stack의 장점을 가져온 것이다.

double linked list와 비슷하다고 생각하면 된다.


장점

앞과 뒤에서 삽입, 삭제가 좋다. 

리스트처럼 크기가 가변적이다.

vector처럼 원소에 랜덤 접근 가능하다.


단점

vector와 같이 중간에 삽입, 삭제를 위해서는 해당 위치 앞 뒤 데이터를 모두 이동해야 한다.



#include <deque>


deque<int> dq : int형 deque dq 선언

deque dq(n) : n개의 원소를 가진 dq 선언

deque dq(n,a) : a로 초기화된 n개의 원소를 가진 dq 선언

deque dq(dq2) : deque dq2를 dq에 복사


dq.assign(n,a) : a값으로 n개의 원소를 v에 할당

dq.at(a) : a번째 원소 (범위를 점검, 안전)

dq[a] : a번째 원소 (범위를 점검X, 빠름)

dq.front() : 제일 앞 원소

dq.back() : 마지막 원소

dq.begin() : beginning iterator

dq.end() : end iterator

dq.clear() : 모든 원소 제거 ( 메모리는 제거X)

dq.empty() : 비었는지 판단

dq.erase(i) : i가 가리키는 곳 제거

dq.erase(a,b) : [a,b) 범위 제거

dq.insert(a,b) : a위치에 b삽입

dq.insert(a,b,c) : a위치에 b개의 c 삽입  /  a위치에 [b,c)의 원소 삽입   (값인지 iterator인지의 차이)

dq.max_size() : 최대 원소 개수 (메모리 크기)

dq.size() : 원소의 개수

dq.capacity : 메모리 크기

dq. pop_back() : 마지막 원소 제거

dq.push_front(a) : dq의 앞에 a추가

dq. push_back(a) : v의 끝에 a추가

dq.rbegin() : 역 순의 첫 원소 가리킴

dq.rend() : 역 순의 마지막의 다음 가리킴

dq.reserve(n) : n개의 원소 공간 미리 동적할당

dq.resize(n) : 크기를 n으로 변경

dq.resize(a,b) : 크기를 a로 변경하는데 더 커졌을 경우 b로 초기화



작성자 : 히더

'자료구조 > STL' 카테고리의 다른 글

[STL] 시퀀스 컨테이너와 연관 컨테이너  (0) 2018.10.03
[STL] Set 셋  (0) 2018.10.02
[STL] Map 맵  (0) 2018.10.02
[STL] Pair 페어  (0) 2018.09.07
[STL] Vector 벡터  (0) 2018.09.07
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함