Stack이란?
스택은 대표적인 LIFO 구조이다. 따라서 제일 마지막에 넣은 데이터가 처음으로 빠져나오는 것을 볼 수 있다.
Stack의 사용
- stack STL을 사용하기 위해서는 #include <stack> 헤더파일을 포함해야한다.
#include <stack>
- 선언 방법은 stack<[data type]> [변수 이름]이다.
- ex) vector<int> myStack;
스택 멤버 함수
- stack.push(element)
- 스택에 데이터를 추가
- stack.pop()
- 스택에 데이터를 삭제
- stack.top()
- 스택의 제일 위 데이터 반환
- 스택이 비어 있다면 정의되지 않은 동작(Undefined Behavior) 예외 처리 발생
- stack.size()
- 스택의 사이즈 반환
- stack.empty()
- 스택이 비어있는지 확인
- 비어 있으면 1을 반환, 비어 있지 않으면 0을 반환합니다.
- stack.swap(스택1, 스택2)
- 스택1과 스택2의 내용을 바꿈
사용 예시
#include <iostream>
#include <stack>
using namespace std;
int main() {
stack<int> myStack;
cout << myStack.empty() << endl;
myStack.push(15);
cout << myStack.empty() << endl;
cout << myStack.top() << endl;
myStack.pop();
cout << myStack.empty() << endl;
return 0;
}
'🔊 Language > C++' 카테고리의 다른 글
C++ - Map (0) | 2024.08.01 |
---|---|
C++ - STL 컨테이너 (0) | 2024.07.31 |
C++ - Vector (0) | 2024.07.29 |
C++ - 우분투에서 Boost Library 설치하기 (0) | 2024.07.19 |
C++ - 표준 템플릿 라이브러리(STL) (0) | 2024.07.18 |