본문 바로가기
CS/Data Structure

Dequeue(Double-ended Queue)

by ilyadelavie 2022. 9. 11.

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 메서드 사용과 거의 유사하다. 기존 메서드에 처리 위치 구분 정도만 있다고 생각하면 됨

 

 

'CS > Data Structure' 카테고리의 다른 글

HashTable 특징 및 Hash 인덱스  (0) 2023.04.09
Tree(트리)  (0) 2022.06.15
Graph(그래프)  (0) 2022.06.14