오늘은 Stack 자료구조를 알아보자.
stack을 설명할때 흔히 위의 구조처럼 생겼다고 설명한다.
바구니이긴한데 한줄로 들어갈 수 밖에 없는 그런 바구니!
stack은 입구가 하나라고 얘기한다.
하나인 입구로 요소를 넣고, 뺀다.
stack의 특징을 얘기하라하면 LIFO라고 말을 하는데 LIFO가 뭘까?
우선, Last In First Out의 약자이다.
stack은 LIFO 특성으로 인해 생기는 현상?이 있다.
stack에 apple이라는 단어를 하나씩 넣는다 생각하면 아래의 그림과 같은 과정으로 stack에 들어갈 것이다.
이번에는 apple로 꽉 차있는 stack에서 하나씩 빼보자.
apple을 stack에 넣었는데 stack에서 빼보니 elppa로 뒤집혀서 나오는 것을 확인할 수 있다.
stack에 요소를 추가한다.
stack에서 요소를 빼낸다.
stack의 입구와 가장 가까운 요소에 대해 반환한다.
stack이 비어 있는지 확인한다.
stack의 크기를 반환한다.
stack에 대해 간단하게 알아봤다.
다음 포스팅에서 JAVA와 Swift로 짠 코드를 올릴 예정이지만.. (Swift만 올릴지도..ㅋㅋㅋ)
stack에 대해 좀 더 자세하게?라기 보단... 어떨때 사용하는지에 대해서 알고 싶다면 이후 포스팅에서 다룰 Queue에 대해서 알게 된다면 더 이해하기 편할거다.
아무튼 오늘도 이만!👋