📅  最后修改于: 2023-12-03 15:29:51.361000             🧑  作者: Mango
堆栈是一种数据结构,遵循“先进后出”的原则。STL(Standard Template Library)是一个流行的C++库,其中包含了许多现成的数据结构和算法。
在STL中,堆栈实现为一个列表(list),因此称为堆栈列表(stack list)。我们可以使用STL中的std::stack
模板类来表示一个堆栈列表。
我们可以使用以下语法来创建一个堆栈列表对象:
std::stack<int> s;
这将创建一个空的整数类型堆栈。我们也可以使用其他数据类型来创建堆栈,例如:
std::stack<char> s1;
std::stack<double> s2;
堆栈列表提供了以下主要操作:
将新元素添加到堆栈的顶部。该操作的语法如下:
s.push(x); // 将元素x添加到堆栈顶部
删除堆栈顶部的元素。该操作的语法如下:
s.pop(); // 删除堆栈顶部的元素
返回堆栈顶部的元素,但不将其从堆栈中删除。该操作的语法如下:
s.top(); // 返回堆栈顶部的元素
返回堆栈中元素的数量。该操作的语法如下:
s.size(); // 返回堆栈中元素的数量
检查堆栈是否为空。如果堆栈中没有元素,则返回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添加到堆栈的顶部。然后,它输出堆栈中元素的数量和堆栈顶部的元素。接着,它删除了堆栈顶部的元素,并再次输出堆栈顶部的元素。