Java script를 이용한 Stack 구현

임쿠쿠·2020년 8월 24일
2

Stack

"먼저 들어간 것이 나중에 나온다!"
스택은 나중에 들어간 것이 먼저 나오는 구조로, 후입선출 또는 LIFO(Last-in, First-Out)의 자료구조이다.
스택에는 자료를 넣고, 꺼내고, 들여다 보는 연산으로 구성되며, 각각 push, pop, peek이라 한다. 또한, 스택으로 구현한 대표적인 프로그램이 '계산기'이다.

Stack의 구현

Node구성

class Node {
  constructor(data) {
    this.data = data;
    this.next = null;
  }
}

class Stack {
  constructor() {
    this.top = null;
    this.count = 0;
  }

  push(data) {
    let node = new Node(data);
    node.next = this.top; // 삽입된 node의 next(아래가) 기존의 top이된다.
    this.top = node;  // node가 새로운 top이된다.
    return ++this.count;
  }

  pop() {
    if (!this.top) {
      return false;
    }

    let data = this.top.data;
    this.top = this.top.next;  

    this.count--;
    return data;
  }

  peek() {
    console.log(this.top.data);
  }
}


let stack = new Stack();
console.log(stack)
stack.push(100)
stack.push(200)
stack.push(300)
stack.pop();
//stack.peek();
console.log(stack)
profile
Pay it forward

1개의 댓글

comment-user-thumbnail
2022년 1월 13일

감사히 잘봤습니다!

답글 달기