C++ - Stack

구동엽
|2024. 7. 29. 12:00

Stack이란?

스택은 대표적인 LIFO 구조이다. 따라서 제일 마지막에 넣은 데이터가 처음으로 빠져나오는 것을 볼 수 있다.


Stack의 사용

  • stack STL을 사용하기 위해서는 #include <stack> 헤더파일을 포함해야한다.
#include <stack>
  • 선언 방법은 stack<[data type]> [변수 이름]이다.
    • ex) vector<int> myStack;

스택 멤버 함수

  • stack.push(element)
    • 스택에 데이터를 추가
  • stack.pop()
    • 스택에 데이터를 삭제
  • stack.top()
    • 스택의 제일 위 데이터 반환
    • 스택이 비어 있다면 정의되지 않은 동작(Undefined Behavior) 예외 처리 발생
  • stack.size()
    • 스택의 사이즈 반환
  • stack.empty()
    • 스택이 비어있는지 확인
    • 비어 있으면 1을 반환, 비어 있지 않으면 0을 반환합니다.
  • stack.swap(스택1, 스택2)
    • 스택1과 스택2의 내용을 바꿈

사용 예시

#include <iostream>
#include <stack>

using namespace std;

int main() {
	stack<int> myStack;

	cout << myStack.empty() << endl;

	myStack.push(15);

	cout << myStack.empty() << endl;

	cout << myStack.top() << endl;

	myStack.pop();

	cout << myStack.empty() << endl;

	return 0;
}

 

 

 

'🔊 Language > C++' 카테고리의 다른 글

C++ - Map  (0) 2024.08.01
C++ - STL 컨테이너  (0) 2024.07.31
C++ - Vector  (0) 2024.07.29
C++ - 우분투에서 Boost Library 설치하기  (0) 2024.07.19
C++ - 표준 템플릿 라이브러리(STL)  (0) 2024.07.18