스택(Stack)은 대표적인 LIFO(Last In First Out) 구조이다.
따라서 제일 마지막에 넣은 데이터가 처음으로 빠져나오는 것을 볼 수 있다.
#include <stack>
stack <데이터 타입> 이름;
stack<int> a;
스택이름.push(데이터)
형태로 스택에 데이터를 추가한다.
int a = 3;
stack.push(a)
스택이름.pop()
형태로 스택의 top 데이터를 삭제한다.
stack.pop()
스택이름.top()
형태로 스택의 top 데이터를 반환한다.
int a = stack.top()
스택이름. size()
형태로 스택의 현재 사이즈를 반환한다.
int length = stack.size()
스택이름. empty()
형태로 스택이 비어있는 지 확인한다.
if(stack.empty()){
return true;
}
스택1과 스택2 두 스택의 내용을 바꾸고 싶은 경우, 내장된 swap 함수를 사용한다.
swap(스택1 이름, 스택2 이름)
형태로 두 스택의 내용을 바꾼다.
swap(st, st2);