C ++ 라이브러리-<스택>

소개

스택은 LIFO (Last in First out) 컨텍스트에서 작동하도록 설계된 데이터 구조입니다. 스택에서 요소가 삽입되고 한쪽 끝에서만 제거됩니다.

스택 클래스는 컨테이너 어댑터입니다. 컨테이너는 동일한 유형의 데이터를 보유하는 개체입니다. 다른 시퀀스 컨테이너에서 스택을 만들 수 있습니다. 컨테이너가 제공되지 않으면 기본 deque 컨테이너를 사용합니다. 컨테이너 어댑터는 반복자를 지원하지 않으므로 데이터 조작에 사용할 수 없습니다. 그러나 데이터 삽입 및 제거를 위해 각각 push ()pop () 멤버 함수를 지원합니다.

정의

다음은 <stack> 헤더 파일의 std :: stack 정의입니다.

template <class T, class Container = deque<T> > class stack;

매개 변수

  • T − 포함 된 요소의 유형.

    T는 사용자 정의 유형을 포함한 다른 데이터 유형으로 대체 될 수 있습니다.

  • Container − 기본 컨테이너 개체의 유형.

회원 유형

다음 멤버 유형은 멤버 함수에 의해 매개 변수 또는 리턴 유형으로 사용될 수 있습니다.

Sr. 아니. 회원 유형 정의
1 값 _ 유형 T (템플릿의 첫 번째 매개 변수)
2 container_type 템플릿의 두 번째 매개 변수
크기 유형 size_t
4 참고 값 _ 유형 &
5 const_reference const 값 _ 유형 &

<stack>의 기능

다음은 <stack> 헤더의 모든 메소드 목록입니다.

생성자

Sr. 아니. 방법 및 설명
1 stack :: stack 기본 생성자

요소가 0 인 빈 스택 객체를 생성합니다.

2 stack :: stack 복사 생성자

다른 스택에있는 각 요소의 복사본으로 스택을 구성합니다.

stack :: stack 이동 생성자

이동 시맨틱을 사용하여 다른 컨텐츠로 스택을 구성합니다.

폐물 소각로

Sr. 아니. 방법 및 설명
1 스택 :: ~ 스택

컨테이너 메모리 할당을 해제하여 스택을 파괴합니다.

회원 기능

Sr. 아니. 방법 및 설명
1 stack :: emplace

스택 맨 위에 새 요소를 구성하고 삽입합니다.

2 stack :: empty

스택이 비어 있는지 여부를 테스트합니다.

stack :: operator = 버전 복사

이전 내용을 대체하여 스택에 새 내용을 할당합니다.

4 stack :: operator = 버전 이동

이전 내용을 대체하여 스택에 새 내용을 할당합니다.

5 stack :: pop

스택에서 최상위 요소를 제거합니다.

6 stack :: push 복사 버전

스택 맨 위에 새 요소를 삽입합니다.

7 stack :: push 이동 버전

Inserts new element at the top of the stack.

8 stack::size

Returns the total number of elements present in the stack.

9 stack::swap

Exchanges the contents of stack with contents of another stack.

10 stack::top

Returns a reference to the topmost element of the stack.

Non-member overloaded functions

Sr.No. Method & Description
1 operator==

Tests whether two stacks are equal or not.

2 operator!=

Tests whether two stacks are equal or not.

3 operator<

Tests whether first stack is less than other or not.

4 operator<=

Tests whether first stack is less than or equal to other or not.

5 operator>

Tests whether first stack is greater than other or not.

6 operator>=

Tests whether first stack is greater than or equal to other or not.

7 swap

Exchanges the contents of two stack.