이번 포스팅에서는 덱(Deque)에 관해 학습합니다.
I) 덱
덱은 이름과 같이 Deque(Double Ended Queue) 자료구조입니다.
Deque 자료 구조는 큐(Queue) 와 비슷하지만 구분을 위해 디큐가 아닌 덱이라 부릅니다.
큐(Queue) 에서는 앞에서 입구로 자료를 삽입한다면 뒤에서는 출구로 자료를 삭제하는 선형 리스트로 First In First Out(FIFO) 방식을 사용하지만
덱(Deque) 에서는 앞과 뒤에서 자료를 삽입, 삭제 할 수 있습니다.
덱(Deque) 은 스택(Stack)과 큐(Queue)의 장점을 모은 것으로 FIFO방식과 LIFO방식 둘 다 사용할 수 있습니다.
II) 덱(Deque) 의 특성
-크기 변경 가능
-앞에 삽입, 삭제 용이
-뒤에 삽입, 삭제 용이
-중간 삽입, 삭제 X
-순차 접근 가능
-랜덤 접근 가능
III) STL Deque
멤버 | 설명 |
assign | 특정 원소로 채운다 |
at | 특정 위치의 원소의 참조를 반환 |
back | 마지막 원소의 참조를 반환 |
begin | 첫 번째 원소의 랜던 접근 반복자를 반환 |
clear | 모든 원소를 삭제 |
empty | 아무것도 없으면 true 반환 |
End | 마지막 원소 다음의(미 사용 영역) 반복자를 반환 |
erase | 특정 위치의 원소나 지정 범위의 원소를 삭제 |
front | 첫 번째 원소의 참조를 반환 |
insert | 특정 위치에 원소 삽입 |
pop_back | 마지막 원소를 삭제 |
pop_front | 첫 번째 원소를 삭제 |
push_back | 마지막에 원소를 추가 |
push_front | 제일 앞에 원소 추가 |
rbegin | 역방향으로 첫 번째 원소의 반복자를 반환 |
rend | 역방향으로 마지막 원소 다음의 반복자를 반환 |
reserve | 지정된 크기의 저장 공간을 확보 |
size | 원소의 개소를 반환 |
swap | 두 개의 vector의 원소를 서로 맞바꾼다 |
*유의사항
- 공부 중인 인공지능공학과 대학생이 정리해서 남긴 정리입니다.
- 정확하지 않거나, 틀린 점이 있다면 댓글로 알려주시면 감사하겠습니다.
'Pro Developer > BaekJoon(DataStructure & Algorithm)' 카테고리의 다른 글
[백준 17413번] 단어 뒤집기 2 (C++) (0) | 2022.02.18 |
---|---|
[백준 10866번] 덱 (C++) (0) | 2022.02.18 |
[백준 1158번] 요세푸스 문제 (C++) (0) | 2022.02.13 |
[백준 10845번] 큐 (C++) (0) | 2022.02.13 |
[백준 1874번] 스택 수열 (C++) (0) | 2022.02.11 |
댓글