본문 바로가기

알고리즘/알고리즘_기초

9강 - 스택 (Stack)

1. 스택

1) 정의

1> LIFO (Last In First Out)

2> 한 쪽 끝에서만 자료를 넣고 뺄 수 있는 형식의 자료 구조

3> 가장 최근에 추가한 항목이 가장 먼저 제거될 항목이다.

4> 택배 상하차를 생각한다.

 

2) 특징

 

3) 선언

1> 헤더 파일

#include <stack>

2> 스택 선언

stack<'data type'> '변수명'

 

4) 기본 함수

1> 추가

s.push(element) // item 하나를 스택의 가장 윗(top) 부분에 추가

2> 삭제

s.pop(); // 가장 위(top)에 있는 element를 삭제

3> 조회

s.top(); // 스택 맨 위(top)에 있는 원소를 return

4> 크기

s.size(); // 스택 내부의 element 개수를 return

5> 비어있는지

s.empty(); // 스택이 비어있으면 true를 return (아니면 false를 return)

 

 

2. 사용 사례

1) 재귀 알고리즘