C ++库 - <stack>

简介

Stack是一种数据结构,设计用于在LIFO(后进先出)上下文中运行.在堆栈元素中插入以及仅从一端移除.

Stack类是容器适配器.容器是保存相同类型数据的对象.可以从不同的序列容器创建堆栈.如果未提供容器,则使用默认的 deque 容器.容器适配器不支持迭代器,因此我们不能将它们用于数据操作.但是它们分别支持 push() pop()成员函数进行数据插入和删除.

定义

下面是来自< stack>的std :: stack的定义头文件

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

参数

  • T : 包含的元素的类型.

    T可以被任何其他数据类型替换,包括用户定义的类型.

  • 容器 : 基础容器对象的类型.

成员类型

以下成员类型可用作参数或按成员函数返回类型.

Sr .No.会员类型定义
1value_typeT(模板的第一个参数)
2container_type模板的第二个参数
3size_typesize_t
4referencevalue_type&
5const_referenceconst value_type&

来自< stack>的函数

以下是< stack>中所有方法的列表标题.

构造函数

Sr.No.方法&说明
1stack::stack  默认构造函数

构造一个空元素对象,零元素.

2stack :: stack  复制构造函数

构造一个堆栈,其中包含另一个堆栈中存在的每个元素的副本.

3stack :: stack   move constructor

使用move语义构造一个包含其他内容的堆栈.

析构函数

Sr.No.Method&说明
1stack:::stack

通过释放容器内存来销毁堆栈.

成员函数

Sr.No.方法&说明
1stack::emplace

构造并在堆栈顶部插入新元素.

2stack :: empty

测试堆栈是否为空.

3stack :: operator =   copy version

通过替换旧内容将新内容分配给堆栈.

4stack :: operator =  移动版本

通过替换旧内容将新内容分配给堆栈.

5stack :: pop

删除顶部堆栈中的元素.

6stack :: push   copy version

在堆栈顶部插入新元素.

7stack :: push   move version

在堆栈顶部插入新元素.

8stack::size

返回堆栈中存在的元素总数.

9stack :: swap

兑换包含另一个堆栈内容的堆栈内容.

10stack :: top

返回对堆栈最顶层元素的引用.

非会员重载功能

Sr.No.方法&说明
1operator==

测试两个堆栈是否相等.

2operator!=

测试两个堆栈是否相等.

3operator<

测试第一个堆栈是否小于其他堆栈.

4operator< =

测试第一个堆栈是否小于或等于其他与否.

5operator>

Tests whether first stack is greater than other or not.

6operator> =

测试第一个堆栈是否大于或等于其他堆栈.

7swap

交换两个堆栈的内容.