stack, queue

이윤근·2021년 8월 7일
0

stack

1)의미

데이터를 순서대로 쌓는 자료구조
가장 먼저 들어간 데이터가 가장 나중에 나올 수 있음.
LIFO(Last In First Out)

예시)브라우저 에서 계속해서 클릭하여 page에 들어가면 이전에 봤던 page 들이 stack으로 쌓인다.그래서 뒤로가기 했을 때 이전page로 갈 수 있지만 바로 전전 page나 전전전 page로 돌아가지 못함.

2)구현

class Stack {
  constructor() {
    this.arr = [];
    this.index = 0;
  }
  push(item) {
    this.arr[this.index++] = item;
  }
  pop() {
    if (this.index <= 0) return null;
    const result = this.arr[--this.index];
    return result;
  }
}

Queue

1)의미

먼저 들어간 데이터가 먼저 나오는 자료구조
FIFO(First In First Out)

예시)프린터는 출력할 때 문서가 인쇄작업을 하는데 그전에 임시 기억장치에 들어가고 그 기억장치에 들어온 문서 순서대로 인쇄를 한다.

buffer: 각 장치 사이에 데이터를 주고 받을 때 각 장치 사이에 존재하는 속도의 차이

2)구현

class Queue {
  constructor() {
    this._arr = [];
  }
  enqueue(item) {
    this._arr.push(item);
  }
  dequeue() {
    return this._arr.shift();
  }
}
profile
성실한코딩러

0개의 댓글