[C/C++] Stack STL

김동현·2021년 6월 6일
0

C/C++

목록 보기
2/3

Stack

: 구멍이 한쪽에만 뚫려있는 통에 데이터를 넣는 자료구조.

Stack의 특징
1. 먼저 들어간 자료가 나중에 나온다. Last In First Out (LIFO) 구조
2. 시스템 해킹에서 버퍼오버플로우 취약점을 이용한 공격을 할 때 스택 메모리의 영역에서 한다.
3. 인터럽트 처리, 수식의 계산, 서브루틴의 복귀 번지 저장 등에 쓰인다.
4. 그래프의 깊이 우선 탐색(DFS)에서 사용된다.
5. 재귀적(Recursion) 함수를 호출 할 떄 사용된다.

Stack의 구조

(후첨)

Stack 사용법

1. 선언

#include <stack> 		//including header file
stack<int> s; 			//int형 스택 선언
stack<char> s;			//char형 스택 선언

2. Stack에 값 추가

s.push(_element_)	//stack에 원소 추가

3. Stack에 값 삭제

s.pop()				//stack의 가장 위쪽에 있는 원소 제거

4. Stack에서 값 출력

s.top()				//stack의 가장 상단의 값 출력

5. Stack의 기타 method

s.size();			//stack의 크기 출력
s.empty();			//stack이 비어있는지 확인 (비어있다면 true, 원소가 있다면 false)
s1.swap(s2);		//s2와 요소 바꾸기

0개의 댓글

Powered by GraphCDN, the GraphQL CDN