📜  C++ STL中的堆栈列表(1)

📅  最后修改于: 2023-12-03 15:29:51.361000             🧑  作者: Mango

C++ STL中的堆栈列表

堆栈是一种数据结构,遵循“先进后出”的原则。STL(Standard Template Library)是一个流行的C++库,其中包含了许多现成的数据结构和算法。

在STL中,堆栈实现为一个列表(list),因此称为堆栈列表(stack list)。我们可以使用STL中的std::stack模板类来表示一个堆栈列表。

创建堆栈列表对象

我们可以使用以下语法来创建一个堆栈列表对象:

std::stack<int> s;

这将创建一个空的整数类型堆栈。我们也可以使用其他数据类型来创建堆栈,例如:

std::stack<char> s1;
std::stack<double> s2;
堆栈操作

堆栈列表提供了以下主要操作:

push()

将新元素添加到堆栈的顶部。该操作的语法如下:

s.push(x); // 将元素x添加到堆栈顶部
pop()

删除堆栈顶部的元素。该操作的语法如下:

s.pop(); // 删除堆栈顶部的元素
top()

返回堆栈顶部的元素,但不将其从堆栈中删除。该操作的语法如下:

s.top(); // 返回堆栈顶部的元素
size()

返回堆栈中元素的数量。该操作的语法如下:

s.size(); // 返回堆栈中元素的数量
empty()

检查堆栈是否为空。如果堆栈中没有元素,则返回true,否则返回false。该操作的语法如下:

s.empty(); // 返回true,如果堆栈为空,则返回true,否则返回false
堆栈列表示例

以下代码片段演示了如何使用STL中的堆栈列表:

#include <iostream>
#include <stack>

int main()
{
    std::stack<int> s;

    s.push(1); // 将1添加到堆栈顶部
    s.push(2); // 将2添加到堆栈顶部
    s.push(3); // 将3添加到堆栈顶部

    std::cout << "堆栈中元素的数量为:" << s.size() << std::endl; // 输出:“堆栈中元素的数量为:3”

    std::cout << "堆栈顶部的元素为:" << s.top() << std::endl; // 输出:“堆栈顶部的元素为:3”

    s.pop(); // 删除堆栈顶部的元素

    std::cout << "堆栈顶部的元素为:" << s.top() << std::endl; // 输出:“堆栈顶部的元素为:2”

    return 0;
}

这个程序创建了一个整数类型的堆栈列表,并将数值1、2和3添加到堆栈的顶部。然后,它输出堆栈中元素的数量和堆栈顶部的元素。接着,它删除了堆栈顶部的元素,并再次输出堆栈顶部的元素。