본문 바로가기

Algorithm/Data Structure(자료구조)

[자료구조] Stack, Queue

Stack 데이터의 상태, 값 저장용도

 

LIFO(Last In First Out) 마지막에 들어온 것이 먼저 나감

 

개인적인 생각으로 Git의 Commit, Push 등의 로그들이 Stack의 용도로 사용된다고 생각함.

예전 컴퓨터공학과 2학년 수업 중간고사 때 실생활 예로 학생식당에서 사용하는 종이컵으로 사용생각함.

 

종이컵 박스에서 위에만 뚫려있다면 넣을때 아래부터 위로 쌓아지고 사용하는 사람은 차례대로 위에 뚫린 구멍을 통해 하나씩 빼서 사용하는...

 

stack의 연산

 

top: stack의 최근 삽입한 데이터, 혹은 위치

push: 데이터 삽입(top+1)

pop: 최근에 삽입한 데이터 제거

size: stack의 크기

empty: 비워져있는지 아닌지

 

C++의 STL로 쉽게 확인 가능함.

 

Queue 

전반으로 stack과 비슷하지만, 나가는 순서가 다름

들어온 데이터먼저 제거됨

FIFO(First In First Out)