본문 바로가기
알고리즘

C++ stack

by 도승이 2021. 7. 12.

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가 제거됨)

댓글