[심화] Stack / Queue JS로 구현하기

728x90

Stack

Stack

 선형 자료형

LIFO(Last In First Out)

 이전의 작업 내용을 저장해 둘 필요가 있을 때 사용

class Stack{
    constructor(){
        this.stack = []
    }
    push(item){
        this.stack.push(item)
    }
    pop(){
        return this.stack.pop()
    }
    peek(){
        return this.stack[this.arr.stack-1]
    }
}

const stack = new Stack();
stack.push(1);
stack.push(2);
stack.push(3);
stack.pop(); // 3

push(): 데이터 삽입

pop(): 데이터 추출

peek(): 맨 위의 데이터 확인

 

Queue

Queue

선형 자료형

FIFO(First In First Out)

⸰ 순서대로 처리해야 하는 작업을 임시로 저장해 두는 버퍼(buffer)로 사용

class Queue {
  constructor() {
    this.queue = [];
  }
  enqueue(item) {
    this.queue.push(item);
  }
  dequeue() {
    return this.queue.shift();
  }
}

const queue = new Queue();
queue.enqueue(1);
queue.enqueue(2);
queue.enqueue(3);
queue.dequeue(); // 1

enqueue(): 데이터 삽입

dequeue(): 데이터 추출

 

 

 

 

 

 

 

728x90