Stack

가장 늦게 추가된 항목이 가장 먼저 제거되는 LIFO(Last In First Out) 형식의 자료 구조

stack에 데이터를 추가하는걸 push라고 부르고 데이터를 꺼낼때 pop이라고 부른다

stack에는 제일 위 데이터를 가리키는 top가 있다

stack overflow

스택에 더 이상 데이터가 추가될 공간이 없는데 추가(push)를 할 때 발생

stack underflow

스택에 메모리가 비어있을 때 데이터를 꺼내려고(pop) 했을 때 발생

사용 사례

  • 역순 문자열 만들기

  • 재귀 알고리즘

  • 웹 브라우저 방문기록 (뒤로가기, 앞으로 가기)

  • 실행 취소 (undo)

    -

Stack으로 Queue만들기

    1. mainStack와 subStack를 만든다

    1. 데이터가 enqueue가 되면 mainStack의 데이터를 pop해서 subStack에 push한다

    1. subStack에 enqueue할 데이터를 push한다

    1. 다시 subStack에서 데이터들을 pop해서 mainStack에 push한다

구현

Last updated

Was this helpful?