JS로 Stack 구현하기

껌뻑이·2021년 7월 22일
0

자료구조

목록 보기
1/2
post-thumbnail

JS로 Stack 자료구조 구현하기

Stack이란?

한 쪽 끝에서만 자료를 넣고 뺄 수 있는 LIFO(Last In First Out) 형식의 자료구조이다.

편의점 알바를 한다고 가정하자.
우리는 음료수나 과자 등을 채울 것이다. 
채우다보면 가장 나중에 넣은 것이 가장 앞쪽에 있고, 가장 먼저 넣은 것은 가장 안쪽, 즉 마지막 순서에 있을 것이다.
손님들은 가장 나중에 넣은 것(Last)을 가장 먼저(First) 살 것이다. 
이것이 stack 자료구조의 형식이다. (LIFO, Last In First Out)

함수

stack에 넣는 것은 push(), 빼는 것은 pop()이다.

Stack 구현

stack 자료구조에 1에서 5의 숫자를 넣고 빼는 과정

const stack = [];

// stack = []

for (let i = 1; i <= 5; i++) {
  stack.push(i);
}
// 1 ~ 5를 차례대로 stack 배열에 대입

// stack = [1, 2, 3, 4, 5]

const output = []

for (let i = 1; i <= 5; i++) {
  const pop = stack.pop()
  output.push(pop)
}
// stack 배열에 5번 pop()을 해준다.

// stack = []
// output = [5, 4, 3, 2, 1]

이처럼 output 배열 즉, stack 배열에서 pop을 한 결과 기존 stack 배열에 담긴 순서와는 정반대로 나오는 것을 알 수 있다.

0개의 댓글