자바스크립트 스택이란?

gun·2020년 8월 26일
0
post-thumbnail

스택(Stack)이란?

  • 스택은 알고리즘중 하나로 FILO성질을 가진 알고리즘 입니다.
  • 쉽게 말해 먼저 들어간 값이 마지막에 나오고 마지막에 들어간 값이 가장 먼저 나오게 됩니다.
  • FILO을 쉽게 생각하면 블록쌓기를 생각하면 된다 블록을 쌓을 때 무조건 위로 차근차근 쌓아야 하고, 블록을 무너트리지 않고 빼낼 땐 맨 마지막에 쌓은 블록부터 하나하나 꺼내야 합니다. 이게 FILO입니다.

Stack 구현

class Stack {
  constructor() {
    this.block = [];
  }
  //블럭을 쌓아줍니다
  push(item) {
    this.block.push(item);
  }
  //맨 위에, 즉 마지막에 들어온 블럭을 꺼내 제거해 줍니다.
  pop() {
    return this.block.pop();
  }
  //가장 맨 마지막에 들어간 값을 알려줍니다.
  peek() {
    return this.block[this.block.length - 1];
  }
}

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

0개의 댓글