learn/data structure

데크 (Deque)

사겅이 2023. 9. 24. 05:49

출처 : https://chat.openai.com/c/78de3b1d-fb4e-4274-a4d8-a8be7905b644

 

Double-ended queue의 줄임말로, 양쪽 끝에서 삽입과 삭제가 모두 가능한 자료구조

 

package datastructure.linear;

import java.util.*;

public class DequeTest {
    public static void main(String[] args) {
        // Deque 생성
        Deque<String> deque = new LinkedList<>();

        // 데크 앞뒤로 원소 추가
        deque.addFirst("First"); // Deque 앞에 원소 추가
        deque.addLast("Last");   // Deque 뒤에 원소 추가

        // 데크 출력
        System.out.println("Deque: " + deque); // 출력: Deque: [First, Last]

        // 앞뒤 원소 접근
        String first = deque.getFirst(); // 첫 번째 원소 얻기
        String last = deque.getLast();   // 마지막 원소 얻기

        System.out.println("First Element: " + first); // 출력: First Element: First
        System.out.println("Last Element: " + last);   // 출력: Last Element: Last

        // 앞뒤 원소 제거
        deque.removeFirst(); // 첫 번째 원소 제거
        deque.removeLast();  // 마지막 원소 제거

        // 데크 출력
        System.out.println("Updated Deque: " + deque); // 출력: Updated Deque: []

        // 데크가 비어있는지 확인
        boolean isEmpty = deque.isEmpty();
        System.out.println("Is Deque Empty: " + isEmpty); // 출력: Is Deque Empty: true
    }
}

'learn > data structure' 카테고리의 다른 글

그래프 (Graph)  (0) 2023.09.24
트리 (Tree)  (0) 2023.09.24
큐 (Queue)  (0) 2023.09.24
스택 (Stack)  (0) 2023.09.24
연결 리스트 (Linked List)  (1) 2023.09.24