C++ 표준 라이브러리 Standard Template Library
#include <stack> 를 선언하면 사용가능하다
LIFO 구조 (Last In First Out)
마지막에 들어온것이 먼저 나가는 구조다.
예를들면 이렇게된다.
그래프의 깊이우선 탐색 DFS(Depth First Search) 알고리즘 에서 사용하며,
함수들의 재귀적(Recursion) 호출에서도 사용된다.
선언
#include <stack> // stack이 들어있는 헤더파일
stack<int> s; //int형 스택 선언
stack<char> s; //char형 스택 선언
s.empty() : 비어있는지 확인 비어있으면 True 반환
s.size() : 스택의 크기 출력
s.top() : 맨 위의 원소 리턴
s.push(n) : 맨 위에 원소 추가
stack<int> s; // int형 스택 선언
s.push(1); // stack에 값 1 추가
s.push(2); // stack에 값 2 추가
s.push(3); // stack에 값 3 추가
s.pop() : 맨 위의 원소 삭제
stack<int> s; // int형 스택 선언
s.push(1); // stack에 값 1 추가
s.push(2); // stack에 값 2 추가
s.pop(); // stack에 값 제거 (2가 제거됨)
'알고리즘' 카테고리의 다른 글
C++ queue (0) | 2021.07.14 |
---|---|
프로그래머스_코딩테스트 연습_스택/큐_주식가격 (0) | 2021.07.13 |
프로그래머스_코딩테스트 연습_탐욕법_조이스틱 (0) | 2021.07.11 |
프로그래머스_코딩테스트 연습_탐욕법_체육복 (0) | 2021.07.10 |
프로그래머스_코딩테스트 연습_스택/큐_다리를 지나는 트럭 (0) | 2021.07.09 |
댓글