덱(Deque)

YJS·2023년 9월 3일
1
post-thumbnail

🤓오늘의 공부 주제: 덱🤓

덱이란?
덱(Deque)은 데이터의 삽입과 삭제를 head와 tail에서 자유롭게 이루어지는 자료구조이다.

덱을 이용하면 스택과 큐를 구현할 수 있다.
addFirst,RemoveFirst 혹은 addLast,RemoveLast를 이용하면 스택이 된다.
반대로, addFirst,RemoveLast 혹은 addLast,RemoveFirst를 이용하면 큐가 된다.

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 };
profile
우당탕탕 개발 일기

0개의 댓글