1. 스택이란?
스택(Stack)은 자료구조 중 하나로, 상자에 물건을 쌓아 올리듯이 데이터를 쌓는 구조. 스택은 나중에 들어간 데이터가 먼저 나오는 선입후출(Last In First Out)의 형태를 띈다.
2. 스택 사용법
#include <stack> // stack 헤더파일 선언
stack<int> st1 // int형 스택
stack<char> st2 // char형 스택
<stack> 헤더 파일을 include 한 뒤 stack<type> name의 형식으로 사용
- stack에 값 추가하기
stack<int> st1; // int형 스택 st1 선언
st1.push(1); // stack에 1 추가
st1.push(2); // stack에 2 추가
st1.push(3); // stack에 3 추가

- stack에 값 삭제(pop) & 상단의 값 출력(top)
stack<int> st1; // int형 스택 st1 선언
st1.push(1); // stack에 1 추가
st1.push(2); // stack에 2 추가
st1.push(3); // stack에 3 추가
st1.pop(); // 상단의 3 제거
st1.top(); // 상단의 값 2 출력
- stack의 기타 메서드
stack<int> st1; // int형 스택 st1 선언
stack<int> st2; // int형 스택 st2 선언
st1.push(1); // st1에 1 추가
st1.push(2); // st1에 2 추가
st1.push(3); // st1에 3 추가
st1.size(); // st1의 크기인 3 출력
st1.empty(); // st1이 비어있는가? false
st2.empty(); // st2가 비어있는가? true
st1.swap(st2); // st2와 요소를 변경'Algorithm Study > c++' 카테고리의 다른 글
| [C++] DFS(Depth-First Search) vs BFS(Breath-First Search) (1) | 2023.06.10 |
|---|---|
| [C++] queue 사용 & 예제 (0) | 2023.06.09 |
| [C++] Prefix sum & static_cast / codeforces-276-C (0) | 2023.06.09 |
| [C++] Longest Increasing Subsequence / codeforces-486-E (0) | 2023.06.07 |
| [C++] Tree / codeforces-219-D (0) | 2023.06.06 |