STL stack适配器使用

STL stack适配器使用教程

stack 适配器 提供了多个构造函数用来创建 stack 适配器,我们要创建一个 stack 适配器有三种方式,即直接创建一个 stack 适配器、使用其他容器创建一个 stack 适配器和通过 stack 适配器创建 stack 适配器。

STL创建stack适配器详解

语法

std::stack<type> values;

参数

参数 描述
type stack 适配器中每个元素的类型。
values stack适配器类型的变量。

说明

这样,我们创建了一个空的 stack 适配器,其值为 type 类型。

STL初始化stack适配器详解

语法

std::stack<int,std::list<int>> my_stack(values);

参数

参数 描述
my_stack stack 适配器类型的变量。
values stack 适配器的元素。

说明

这样,我们创建了一个 stack 适配器,其中的元素即为 list 的元素。

STL使用stack适配器初始化stack适配器详解

语法

std::stack<int, std::list<int>> my_stack1(values);

参数

参数 描述
my_stack stack 适配器类型的变量。
values stack 适配器的元素。

说明

我们使用了 value1 初始化了 value2。

案例

创建stack适配器

创建一个 stack 适配器,并初始化

#include <iostream> #include <stack> #include <list> using namespace std; int main() { cout << "嗨客网(www.haicoder.net)\n" << endl; list<int> values{ 1024, 20, 99 }; stack<int, list<int>> my_stack(values); while (!my_stack.empty()) { cout << my_stack.top() << endl; my_stack.pop(); } return 0; }

我们在 Linux 下使用 g++ 进行编译,具体命令如下:

g++ stack.cpp -std=c++11

编译后,我们直接运行生成的二进制文件 a.out,如下图所示:

03_STL stack栈容器适配器使用.png

我们创建了并初始化了一个 stack 适配器,最后,遍历了所有元素。

STL stack适配器使用总结

stack 适配器提供了多个构造函数用来创建 stack 适配器,我们要创建一个 stack 适配器有三种方式,即直接创建一个 stack 适配器、使用其他容器创建一个 stack 适配器和通过 stack 适配器创建 stack 适配器。