●Deque (Double-Ended Quenes)
▷Quene과 비슷한 자료 구조. 양 끝에서 삽입, 삭제를 지원함.
▶ADT
▶주요 명령
▷insertFront(element): deque의 앞에 새로운 element를 추가.
▷insertBack(element): deque의 뒤에 새로운 element 추가.
▷eraseFront(): deque의 가장 앞의 element를 제거. (deque가 비어있으면 error)
▷eraseFront(): deque의 가장 뒤의 element를 제거. (deque가 비어있으면 error)
▶보조 명령
▷front(): deque의 가장 앞의 element를 반환. (deque가 비어있으면 error)
▷back(): deque의 가장 뒤의 element를 반환. (deque가 비어있으면 error)
▷size(): deque의 elements의 수를 반환
▷empty(): deque가 비어있으면 True, 아니면 False를 반환
○STL Deque
▷vector기반
○Doubly Linked List based Deque - Linked Deque
▷header 뒤: front of a deque
▷trailer 앞: rear of a deque
▷Insertion - insertFront(e) / insertBack(e) Deque의 앞/뒤에 새로운 요소를 추가함
▷DLinkedList::addFront(e) / addBack(e): 앞/뒤에 해당 요소를 추가함
※DLinkedList::add: 노드 v 앞에 e를 가진 새로운 노드를 추가함.
▷Deletion - removeFront() / removeBack() : Deque의 앞/뒤의 요소를 제거함
▷DLinkedList::removeFront() / removeBack(): 앞/뒤에 해당 요소를 제거함.
※DLinkedList::remove: 노드 v를 제거함