stack, queue 기본
stack은 LIFO(Last-in, first-out) 데이터 구조이다.
순서대로 a, b, c, d의 입력이 들어온다면 데이터를 꺼낼 때는 d, c, b, a 순서로 마지막 들어온 데이터부터 접근할 수 있다.
queue는 FIFO(First-in, first-out) 데이터 구조이다.
순서대로 a, b, c, d의 입력이 들어온다면 데이터를 꺼낼 때도 a, b, c, d 순서로 접근할 수 있다.

C++ 함수 정리
stack
#include <stack>
std::stack<type> s;
- empty()
bool 타입. stack이 비어있는지 판단.
비어있으면 true, 비어있지 않으면 false 반환.
- pop()
stack의 맨 위에 있는 요소를 제거함. return 값 없음.
- push()
stack의 맨 위에 요소를 추가함. return 값 없음.
- size()
stack의 현재 길이를 반환.
- top()
stack의 맨 위의 요소에 대한 참조를 반환.
queue
#include <queue>
std::queue<type> q;
- empty()
bool 타입. queue가 비어있는지 판단.
비어있으면 true, 비어있지 않으면 false 반환.
- pop()
queue의 첫 번째 요소를 제거함. return 값 없음.
- push()
queue의 뒤에 요소를 추가함. return 값 없음.
- size()
queue의 현재 길이를 반환.
- front()
queue의 첫 번째 요소에 대한 참조를 반환.
- back()
queue의 마지막 요소 반환. 가장 최근에 추가된 요소의 참조 반환.