C, C++

<stack>

Yongs12 2023. 7. 5. 18:57

STL에 있는 스택 자료구조 기반의 컨테이너이다.

 

스택은 LIFO구조로 가장 늦게 들어온 데이터가 먼저 나가는 구조로 되어있다.

 

 

#include <iostream>
#include <stack>

int main()
{
    std::stack<int> stack;

    // 데이터를 삽입
    stack.push(10);

    // 맨 위에 있는 데이터를 제거
    stack.pop();

    // 맨 위에 있는 데이터를 꺼내온다.
    const int data = stack.top();

    // 스택의 사이즈 값을 반환한다.
    const size_t size = stack.size();

    // 스택이 비어있는지 확인
    const bool isEmpty = stack.empty();

    return 0;
}

 

 

std::stack의 함수들 시간 복잡도

함수 시간 복잡도 설명
push() O(1) 스택의 맨 위에 요소 추가
pop() O(1) 스택의 맨 위 요소 제거
top() O(1) 스택의 맨 위 요소 반환
empty() O(1) 스택이 비어 있는지 확인
size() O(1) 스택의 요소 갯수 반환