반응형
stack
C++ 표준 라이브러리의 std::stack은 스택(stack)을 구현한 어댑터 컨테이너이다. 스택은 LIFO(Last In, First Out) 데이터 구조로, 가장 최근에 삽입된 요소가 가장 먼저 제거된다. std::stack은 기본적으로 다른 컨테이너(주로 std::deque, std::list, std::vector)를 내부적으로 사용하여 스택을 구현.
stack 기본 사용법
- 헤더 파일 포함
#include <stack>
- 스택 선언
std::stack<int> myStack; // int 형 스택 선언
- 원소 추가
→ push(): 스택의 상단에 원소를 추가.
myStack.push(10);
myStack.push(20);
myStack.push(30);
- 원소 제거
→ pop(): 스택의 상단에 있는 원소를 제거.
myStack.pop(); // 30이 제거
- 상단 원소 접근
int topElement = myStack.top(); // topElement에는 20이 저장됩니다.
- 스택이 비어있는지 확인
→ empty(): 스택이 비어있으면 true를 반환하고, 그렇지 않으면 false를 반환.
if (myStack.empty()) {
std::cout << "Stack is empty" << std::endl;
} else {
std::cout << "Stack is not empty" << std::endl;
}
스택의 상단에 있는 요소만 접근할 수 있으므로, 반복자와 같은 직접적인 요소 접근 방법은 제공하지 않는다.
반응형
'C++ > C++ STL' 카테고리의 다른 글
list (0) | 2024.02.09 |
---|---|
vector (1) | 2024.02.09 |
STL, 컨테이너, 반복자 개념 (0) | 2024.02.09 |