C++의 std::stack은 STL(Standard Template Library)의 일부로 후입선출(LIFO: Last In, First Out) 방식을 따르는 자료구조이며 데이터의 삽입(push)과 삭제(pop)가 한 쪽 끝에서만 이루어지는 특징을 가지고 있다.
1. stack 헤더 파일 포함
#include <stack>
2. stack 객체 생성
std::stack<int> myStack;
3. 요소 삽입 (push)
myStack.push(10);
4. 요소 제거 (pop)
myStack.pop();
5. 최상위 요소 접근 (top)
std::cout << "Top element: " << myStack.top() << std::endl;
6. stack 크기 확인 (size)
std::cout << "Stack size: " << myStack.size() << std::endl;
7. stack이 비어있는지 확인 (empty)
if (myStack.empty()) {
std::cout << "Stack is empty" << std::endl;
} else {
std::cout << "Stack is not empty" << std::endl;
}
사용 예시
#include <iostream>
#include <stack>
using namespace std;
int main() {
stack<int> myStack;
// 요소 삽입
myStack.push(10);
myStack.push(20);
// 최상위 요소 접근 및 출력
cout << "Top element: " << myStack.top() << endl;
// 요소 제거
myStack.pop();
// Stack 크기 확인 및 출력
cout << "Stack size: " << myStack.size() << endl;
// Stack 비어 있는지 확인 및 출력
if (myStack.empty()) {
cout << "Stack is empty" << endl;
} else {
cout << "Stack is not empty" << endl;
}
return 0;
}
'프로그래밍 > C++' 카테고리의 다른 글
C++ ] std::iota 사용법 (0) | 2024.04.19 |
---|---|
C++ ] leetCode 3005 - Count Elements With Maximum Frequency (0) | 2024.04.16 |
C++ ] std::pair 사용법 (0) | 2024.03.01 |
C++ ] std::sort 사용법 with 람다식 (0) | 2024.02.20 |
C++ ] string -> char *, char * -> string 변환 (0) | 2024.02.18 |