스택

Last In First Out(후입선출) 이라는 개념을 가진 선형 자료구조이다.
바닥이 막힌 상자와 같은 유형

출처: 이선협 강사님 데브코스 강의 자료

요소를 넣는 행위를 PUSH, 빼는 것을 POP, 맨 위의 요소를 TOP이라고 부른다.

출처: 이선협 강사님 데브코스 강의 자료

기본적으로 스택 메모리에 스택 자료구조가 사용된다.
함수 호출 및 실행을 단계적으로 진행할 때 메모리에서 사용하는 방법이다.

Array로 스택 표현하기

Stack은 Array와 push, pop 메서드로 표현이 용이하다.

출처: 이선협 강사님 데브코스 강의 자료

Linked List로 표현하기

C언어나 Java에서는 스택의 크기가 고정되지 않는 경우 유연한 배열 대신
연결리스트를 통해 구현한다.
이 때 Head가 stack의 Top이 된다.

출처: 이선협 강사님 데브코스 강의 자료

JavaScript에서 스택 사용법

배열로 구현

const stack = [];

// push
stack.push(1);
stack.push(2);
stack.push(4);
console.log(stack);

// pop
stack.pop();
console.log(stack);

// top 구하기
console.log(stack[stack.length - 1]);

연결 리스트로 구현

기존 연결 리스트 코드에서 Head를 Top으로 지정하고
제거 로직에서 오직 Head를 삭제하는 방식으로 로직을 구성

profile
유리프트 프론트엔드

0개의 댓글