자바스크립트로 구현한 큐!Queue

걍걍규·2023년 7월 6일
0
post-thumbnail
class Queue{
    constructor(){
        this.items = {}
        this.head = 0
        this.tail = 0
    }
    enqueue(item){
        this.items[this.tail] = item
        this.tail++
    }
    dequeue(){
        delete this.items[this.head]
        this.head++
        return this.items[this.head]
    }
    isEmpty(){
        return this.tail - this.head === 0
    }
}

constructor로 들어올 아이템을 보관할 객체 혹은 배열을 하나 선언해준다
head에는 첫번째 인덱스, tail에는 마지막 인덱스를 지정해줄 예정이나
값이 추가되지 않은 상태이기에 0으로 선언해주고 밑에 추가 , 삭제 할때 개별적으로 조정해준다

enqueue 메서드를 만든다 끝에 값을 추가해줄 메서드
파라미터로 받아 온 item을 items[tail]에 추가
tail에는 1을 더해준다

dequeue 메서드는 가장 앞에 있는 값을 삭제해준다
items[head]를 삭제하고 1을 더해준다 후에 리턴한다

isEmepty 메서드는 길이가 0이면 true 아니면 false를 반환해준다

profile
안녕하시오?

0개의 댓글