[자료구조] 덱(Deque) by JS

📄 덱(Deque)

덱

덱(Deque)은 데이터의 삽입과 제거를 headtail 두 곳에서 자유롭게 할 수 있는 자료구조입니다.

📄 덱의 추상자료형

  • printAll - 모든 데이터 출력
  • addFirst - head에서 데이터 제거
  • removeFirst - head에서 데이터 제거
  • addLast - tail에 데이터 삽입
  • removeLast - tail엣 데이터 제거
  • isEmpty - 리스트가 비었는지 체크

📄 자바스크립트로 구현해보기

작성헀던 연결리스트로 구현해보았습니다.

자료구조 - 연결리스트

import { DoublyLinkedList } from "./DoublyLinkedList.mjs";

class Deque {
  constructor() {
    this.list = new DoublyLinkedList();
  }

  printAll() {
    this.list.printAll();
  }

  addFirst(data) {
    this.list.insertAt(0, data);
  }

  removeFirst() {
    return this.list.deleteAt(0);
  }

  addLast(data) {
    this.list.insertAt(this.list.count, data);
  }

  removeLast() {
    return this.list.deleteLast();
  }

  isEmpty() {
    return this.list.count == 0;
  }
}

export { Deque };

출처

Leave a comment