공부/C++(STL)

stack 컨테이너

구로보루 2018. 4. 5. 19:08

 스텍은 후입선출 방식의 컨테이너로 원소들이 차곡차곡 쌓이고 뺄때는 위에서 부터 빼는 형식의 컨테이너이다.

 

stack<T, Container = deque<T>>

T : 원소의 타입

Container : 스택을 구현하는 데 사용되는 기본 형식으로 생략하면 deque가 된다.

-> 스택은 컨테이너 어뎁터이기 때문에 back, push_back, pop_back, empty, size 연산만 할 수 있다면 어떤 컨테이너라도 지정할 수 있다.

 

※ 컨테이너 어뎁터 : 순차열 컨테이너를 다른 기능을 제공하는 컨테이너로 정의하기 위해 래핑하는 클래스 템플릿

 

 멤버 함수

 top

 스택 상위에 있는 원소를 참조 반환

 push

 스택 상위에 원소 삽입, 기반 컨테이너의 push_back함수 사용

 pop

 스택 상위에 원소 삭제

 size

 스택에 있는 원소의 개수 반환

 empty

 스택이 비어있으면 true 반환

 emplace

 스택 상위에 원소를 내부에서 생성해 삽입

 swap

 두 컨테이너의 모든 원소 교환