덱(Deque)이란?
STL 컨테이너 라이브러리 중 하나인 Deque(Double Ended Queue) 덱은 큐(Queue)와 비슷하지만 큐와 다르게 삽입과 삭제가 앞, 뒤 양쪽으로 모두 가능하다.
- 덱의 삽입과 삭제는 양쪽 끝(앞, 뒤)에서 이루어진다.
- 크기가 가변적이다.
- 인덱스가 존재하기 때문에 임의의 원소에 접근이 가능하다.
Deque 사용법
Deque 선언
#include <deque> // deque가 들어있는 헤더파일
deque<int> dp; // int형 덱 선언
deque<char> dp; // char형 덱 선언
Deque의 기타 메서드
- dq.begin() : dq의 첫 번째 원소를 가리키는 iterator
- dq.end() : dq의 마지막 원소를 가리키는 iterator
- dq.front() : dq의 첫 번째 원소
- dq.back() : dq의 마지막 원소
- dq.at(n) : dq의 n번째 원소
- dq.assign(n) : 원소 n개를 0으로 초기화
- dq.assign(n,1) : 원소 n개를 1로 초기화
- dq.push_front(x) : dq의 첫 번째 원소에 'x' 추가
- dq.push_back(x) : dq의 마지막 원소에 'x' 추가
- dq.pop_front() : dq의 첫 번째 원소 삭제
- dq.pop_back() : dq의 마지막 원소 삭제
- dq.size() : dq의 원소 개수 리턴
- dq.resize(m) : dq의 메모리 공간 크기를 m으로 변경하고 늘어난 부분은 0으로 초기화
- dq.clear() : dq 전체 원소 clear!
- dq.insert(iterator, x) : iterator가 가리키는 위치에 원소 'x' 삽입
(기존 원소들은 한 칸씩 뒤로 밀려난다.) - dq.erase(iterator) : iterator가 가리키는 위치의 dq원소를 삭제
Deque 전체 출력
Queue와 다르게 Deque는 인덱스 접근이 가능하다.
배열에서 요소에 접근하기 위해 사용한 [ ]을 쓸 수 있다.
'Develop > Ps' 카테고리의 다른 글
[C++] STL sort함수 사용법 (0) | 2023.07.18 |
---|---|
[C++] STL 스택(stack) 사용법 (0) | 2023.04.13 |
[CS/C++] STL 큐(Queue) 사용법 (0) | 2023.04.11 |
BOJ(2609).cpp 유클리드 호제법 (0) | 2023.04.05 |
BOJ(1009).cpp 모듈러 연산(나머지 연산) (0) | 2023.03.28 |
댓글