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) 재귀 알고리즘
'알고리즘 > 알고리즘_기초' 카테고리의 다른 글
11강 - 다이나믹 프로그래밍 (Dynamic Programming) (0) | 2020.03.14 |
---|---|
10강 - 큐 (Queue) (0) | 2020.03.11 |
6강 - C++ STL sort() 함수 (0) | 2020.03.11 |
5강 - 병합 정렬 (Merge Sort) (0) | 2020.03.11 |
4강 - 퀵 정렬 (Quick Sort) (0) | 2020.03.11 |