[선형자료구조]데크(Deque)

1층

  • 양쪽에서 삽입 및 삭제할 수 있는 데이터 구조
  • 양방향 대기열
  • 스택과 큐의 조합

2. 기본 구조

  • 양방향으로 삽입과 삭제가 가능한 구조
  • 목적에 따라 일부 기능 수정 가능
  • 추가/제거 : 공백이 없을 때 예외 발생 → 예외 처리 필요
  • 제안/설문: 제로 반품 처리 방법



3. 이유 코드

    public static void main(String() args) {
        Deque deque = new ArrayDeque();

        //Front 부분 입력
        deque.addFirst(1);
        deque.addFirst(2);
        deque.addFirst(3);
        System.out.println(deque);  // (3, 2, 1)

        //Rear 부분 입력
        deque.addLast(10);
        deque.addLast(20);
        deque.addLast(30);
        System.out.println(deque);  // (3, 2, 1, 10, 20 ,30)

        //Front 부분 출력
        System.out.println(deque.removeFirst());  // 3
        System.out.println(deque);

        //Rear 부분 출력
        System.out.println(deque.removeLast());  // 30
        System.out.println(deque);

        System.out.println(deque.removeLast());
        System.out.println(deque.removeLast());
        System.out.println(deque.removeLast());
        System.out.println(deque.removeLast());
        System.out.println(deque);

        System.out.println(deque.pollLast());  // null
        System.out.println(deque.removeLast());  // 에외처리가 필요하다
    }