less than 1 minute read

스택 STL

  • Stack은 “쌓다, 더미”라는 뜻으로, 쌓아올리 듯 데이터를 쌓는 자료구조이다. 스택은 후입선출의 형태를 띠는 자료구조이다. C++ 표준 라이브러리에 정의되어 있기 때문에 필요할 때마다 만들어 사용하지 않고 include하여 사용할 수 있다.

fail to bring


특징

  • LIFO 후입선출
  • 시스템 해킹에서 버퍼오버플로우 취약점을 이용한 공격을 할 때 스택 메모리 영역에서 함
  • 인터럽트 처리, 수식 계산, 운영체제에서 복귀 번지 저장에 쓰임
  • 깊이 우선 탐색에서 사용
  • 재귀적 함수를 호출할 때 사용


사용법

  1. 헤더파일

    #include <stack>

  2. 선언

    stack<int> stack;

  3. 기본함수

    • 데이터 추가

      stack.push(element);

    • 데이터 삭제

      stack.pop();

    • 맨 위 데이터 반환

      stack.top();

    • 스택 사이즈 반환

      stack.size();

    • 공백 스택인지 확인

      stack.empty();

    • 두 스택 내용 바꾸기

      swap(stack1, stack2);