简介
Stack是一种数据结构,设计用于在LIFO(后进先出)上下文中运行.在堆栈元素中插入以及仅从一端移除.
Stack类是容器适配器.容器是保存相同类型数据的对象.可以从不同的序列容器创建堆栈.如果未提供容器,则使用默认的 deque 容器.容器适配器不支持迭代器,因此我们不能将它们用于数据操作.但是它们分别支持 push()和 pop()成员函数进行数据插入和删除.
定义
下面是来自< stack>的std :: stack的定义头文件
template> class stack;
参数
T : 包含的元素的类型.
T可以被任何其他数据类型替换,包括用户定义的类型.
容器 : 基础容器对象的类型.
成员类型
以下成员类型可用作参数或按成员函数返回类型.
Sr .No. | 会员类型 | 定义 |
---|---|---|
1 | value_type | T(模板的第一个参数) |
2 | container_type | 模板的第二个参数 |
3 | size_type | size_t |
4 | reference | value_type& |
5 | const_reference | const value_type& |
来自< stack>的函数
以下是< stack>中所有方法的列表标题.
构造函数
Sr.No. | 方法&说明 |
---|---|
1 | stack::stack 默认构造函数 构造一个空元素对象,零元素. |
2 | stack :: stack 复制构造函数 构造一个堆栈,其中包含另一个堆栈中存在的每个元素的副本. |
3 | stack :: stack move constructor 使用move语义构造一个包含其他内容的堆栈. |
析构函数
Sr.No. | Method&说明 |
---|---|
1 | stack:::stack 通过释放容器内存来销毁堆栈. |
成员函数
Sr.No. | 方法&说明 |
---|---|
1 | stack::emplace 构造并在堆栈顶部插入新元素. |
2 | stack :: empty 测试堆栈是否为空. |
3 | stack :: operator = copy version 通过替换旧内容将新内容分配给堆栈. |
4 | stack :: operator = 移动版本 通过替换旧内容将新内容分配给堆栈. |
5 | stack :: pop 删除顶部堆栈中的元素. |
6 | stack :: push copy version 在堆栈顶部插入新元素. |
7 | stack :: push move version 在堆栈顶部插入新元素. |
8 | stack::size 返回堆栈中存在的元素总数. |
9 | stack :: swap 兑换包含另一个堆栈内容的堆栈内容. |
10 | stack :: top 返回对堆栈最顶层元素的引用. |
非会员重载功能
Sr.No. | 方法&说明 |
---|---|
1 | operator== 测试两个堆栈是否相等. |
2 | operator!= 测试两个堆栈是否相等. |
3 | operator< 测试第一个堆栈是否小于其他堆栈. |
4 | operator< = 测试第一个堆栈是否小于或等于其他与否. |
5 | operator> Tests whether first stack is greater than other or not. |
6 | operator> = 测试第一个堆栈是否大于或等于其他堆栈. |
7 | swap 交换两个堆栈的内容. |