[STL] 스택(stack) 기본 예제
[STL] 스택(stack) 기본 예제
컨테이너 어댑터의 종류는 stack, queue, priority_queue 가 있다.
그중 대표적인 컨테이너 어댑터는 stack 이다.
stack은 LIFO(Last In First Out) 방식의 시퀀스이다.
empty, size, push_back, pop_back, back 의 인터페이스를 지원하는 컨테이너(시퀀스)는 모두 stack 컨테이너 어댑터를 사용하여 LIFO 방식의 스택으로 변환할 수 있다.
stack 컨테이너 어댑터의 디폴트 컨테이너는 deque 컨테이너이다.
#include <iostream> #include <vector> #include <stack> using namespace std; int main(){ stack<int> st; // default 는 deque 컨테이너 사용 //stack<int, vector<int>> st; vector 컨테이너를 이용하여 stack 컨테이너 생성 st.push(10); // 스택에 등록 st.push(20); st.push(30); cout << st.top() << endl; // 스택 제일 위의 요소 가져오기 st.pop(); // 스택 제일 위의 요소 제거 cout << st.top() << endl; st.pop(); cout << st.top() << endl; st.pop(); if (st.empty()) // 스택이 비었는지 확인 cout << "stack에 데이터 없음" << endl; return 0; } |
- stack<int> st : 디폴트 컨테이너 deque<int>를 사용하여 stack 컨테이너 객체를 생성한다.
- stack<int, vector<int>> st : vector 컨테이너를 적용한 정수를 저장하는 stack 컨테이너를 생성한다.
- st.push(x) : 스택에 데이터 x를 입력한다.
- st.pop() : 스택의 데이터를 삭제한다.
- st.top() : 스택의 데이터를 반환한다.
- st.empty() : 스택이 비어있는지 판단한다.
출처: https://hyeonstorage.tistory.com/321?category=614599 [개발이 하고 싶어요]
'기타 > C++ STL' 카테고리의 다른 글
[STL] deque 정리 및 예제 (0) | 2019.07.30 |
---|---|
[STL] vector 벡터 정리 및 예제 (0) | 2019.07.30 |
[STL] not2 함수 (0) | 2019.07.30 |
[STL] 역방향 반복자 (reverse_iterator) (1) | 2019.07.30 |
[STL] sort() 정렬 예제 (0) | 2019.07.30 |
[STL] find() 함수 예제 (0) | 2019.07.30 |
[STL] 반복자 iterator 개념 및 예제 (0) | 2019.07.30 |
[STL] less, greater, plus, minus 예제 (0) | 2019.07.30 |