目录

C++ Library - <stack>

介绍 (Introduction)

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

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

定义 (Definition)

下面是头文件中std :: stack的定义

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

参数 (Parameters)

  • T - 包含的元素的类型。

    T可以由包括用户定义类型的任何其他数据类型代替。

  • Container - 基础容器对象的类型。

成员类型 (Member types)

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

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

来自的函数

下面是标头中所有方法的列表。

构造函数 (Constructors)

Sr.No. 方法和描述
1 stack::stack 默认构造函数

构造一个空堆栈对象,其元素为零。

2 stack::stack copy构造函数

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

3 stack::stack 移动构造函数

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

Destructor

Sr.No. 方法和描述
1 stack::~stack

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

成员函数 (Member functions)

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

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

非成员重载函数 (Non-member overloaded functions)

Sr.No. 方法和描述
1 operator==

测试两个堆栈是否相等。

2 operator!=

测试两个堆栈是否相等。

3 operator<

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

4 operator<=

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

5 operator>

测试第一个堆栈是否大于其他堆栈。

6 operator>=

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

7 swap

交换两个堆栈的内容。

↑回到顶部↑
WIKI教程 @2018