본문 바로가기
Pro Developer/BaekJoon(DataStructure & Algorithm)

[자료구조 & 알고리즘] 덱 deque (C++)

by 성 언 2022. 2. 18.

이번 포스팅에서는 덱(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의 원소를 서로 맞바꾼다

 

 

 

 

 

 

*유의사항

- 공부 중인 인공지능공학과 대학생이 정리해서 남긴 정리입니다.

- 정확하지 않거나, 틀린 점이 있다면 댓글로 알려주시면 감사하겠습니다.

 

댓글