CS/Data Structure
Dequeue(Double-ended Queue)
ilyadelavie
2022. 9. 11. 12:48
Dequeue란
- Dequeue 는 큐의 양쪽으로 데이터의 삽입 및 삭제 처리를 할 수 있는 자료구조로 입출력 방향에 따라 큐 혹은 스택으로 사용할 수 있다.
- 덱은 인터페이스로 구성되어 있기 때문에 이를 구현한 ArrayDeque, LinkedBlockingDeque, ConcurrentLinkedDeque, LinkedList 등의 클래스들이 있으며 해당 클래스들을 통해 덱을 생성한다.
Dequeue의 사용
element 추가
public class Dequeue01{
Dequeue<String> dq = new ArrayDequeue<>();
dq.addFirst("hi"); //Deque 맨 앞에 데이터 삽입, 용량 초과하는 경우 Exception 발생
dq.offerFirst("hii"); //Deque 맨 앞에 데이터 삽입, 용량 초과하는 경우 false 리턴
dq.addLast("hiii");
dq.offerLast("hiiii");
dq.add("hiiiiii"); //addLast()와 동일
}
그 외 메서드들도 Queue,Stack 메서드 사용과 거의 유사하다. 기존 메서드에 처리 위치 구분 정도만 있다고 생각하면 됨