개념
- 정의: 양쪽 끝에서 데이터의 삽입과 삭제가 가능한 선형 자료구조
- 연산:
- 앞쪽 삽입: d.offerFirst(v);
- 뒤쪽 삽입: d.offerLast(v);
- 앞쪽 조회: v = d.peekFirst();
- 뒤쪽 조회: v = d.peekLast();
- 앞쪽 삭제: d.pollFirst();
- 뒤쪽 삭제: d.pollLast();
- 비어있는지 확인: d.isEmpty();
사용방법
java.util의 Deque 인터페이스와 LinkedList 클래스 사용
선언
Deque<Integer> deque = new LinkedList<>();
앞쪽 삽입
- 덱의 맨 앞에 값 삽입
deque.offerFirst(1); // 또는 deque.addFirst(1);
뒤쪽 삽입
- 덱의 맨 뒤에 값 삽입
deque.offerLast(2); // 또는 deque.addLast(2);
앞쪽 조회
- 덱의 맨 앞(front) 값을 조회
int front = deque.peekFirst();
뒤쪽 조회
- 덱의 맨 뒤(back) 값을 조회
int back = deque.peekLast();
앞쪽 삭제
- 덱의 맨 앞(front) 값을 삭제하고 그 값을 반환
deque.pollFirst(); // 또는 deque.removeFirst();
뒤쪽 삭제
- 덱의 맨 뒤(back) 값을 삭제하고 그 값을 반환
deque.pollLast(); // 또는 deque.removeLast();
덱 비어있는지 확인
// 덱이 비어있다면 true 반환
deque.isEmpty();
'코딩테스트 > 자료구조' 카테고리의 다른 글
7. 그래프 (0) | 2024.04.12 |
---|---|
6. 우선순위 큐(PriorityQueue) (0) | 2024.04.12 |
4. 큐(Queue) (0) | 2024.04.12 |
3. 스택(Stack) (0) | 2024.04.12 |
2. Map & HashMap (0) | 2024.04.12 |