Taene's

[C++] std::stack 본문

C++ 개념 공부/STL

[C++] std::stack

taene_ 2023. 9. 4. 19:01

<정의>

- 스택(Stack)은 대표적인 LIFO(Last In First Out) 구조이고, 제일 마지막에 넣은 데이터가 처음으로 빠져나온다.

- 스택의 기본함수에는 push, pop, empty, top, swap 등이 있다.

 

<선언>

#include <stack>
stack<int> stack1;
stack<string> stack2;

 

<함수>

- 스택에 데이터 추가

스택이름.push(데이터)  형태로 데이터를 추가한다. 

stack.push(element)

 

- 스택에 데이터 삭제

스택이름.pop(데이터) 형태로 스택의 top 데이터를 삭제한다. (스택이 비어있는데 함수를 호출하면 런타임 에러 발생)

stack.pop()

 

- 스택의 제일 위의 데이터 반환

스택이름.top() 형태로 제일 최상위 데이터를 반환한다. (스택이 비어있는데 함수를 호출하면 런타임 에러 발생)

stack.top()

 

- 스택의 사이즈 반환

스택이름. size() 형태로 스택의 현재 사이즈를 반환한다. 

stack.size()

 

- 스택이 비어있는 지 확인 

스택이름.empty() 형태로 스택이 비어있는 지 확인한다.

stack.empty()

 

- 스택 SWAP  : 두 스택의 내용 바꾸기

스택1과 스택2 두 스택의 내용을 바꾸고 싶은 경우, 내장된 swap 함수를 사용한다. 

swap(스택1 이름, 스택2 이름) 형태로 두 스택의 내용을 바꾼다.

swap(stack1 , stack2)

'C++ 개념 공부 > STL' 카테고리의 다른 글

[C++] std::memset  (0) 2024.03.15
[C++] std::map  (0) 2023.09.11
[C++] std::pair  (1) 2023.09.03
[C++] std::queue  (0) 2023.09.02
[C++] std::sort  (0) 2023.09.02