티스토리 뷰
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
- 미세먼지 안녕!
- 게리맨더링 2
- scanf
- 역량 테스트
- boj
- string
- 연구소 3
- 17140
- 백준
- 새로운 게임 2
- 17144
- STL
- DP
- 입출력
- SWEA
- hackerrank
- 17779
- 팁
- 삼성
- 17143
- 2018 카카오 블라인드 채용
- 17837
- 2018 KAKAO BLIND RECRUITMENT
- 이차원 배열과 연산
- DFS
- 트렌드
- 알고리즘
- SW Expert Academy
- 17142
- 시간 복잡도
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |