📅  最后修改于: 2023-12-03 15:13:44.965000             🧑  作者: Mango
在C++ STL(标准模板库)中,堆栈列表是一个常用的数据结构,用于实现“先进后出”(Last-In-First-Out,LIFO)的操作方式。它基于列表(list)的概念,可以高效地插入和删除元素。
在使用堆栈列表之前,需要包含以下头文件:
#include <stack>
下面的代码展示了如何声明和初始化一个堆栈列表:
std::stack<int> stackList; // 声明一个堆栈列表,存储 int 类型的元素
堆栈列表支持在顶部插入元素的操作,称为推入(push)操作。可以使用 push()
函数将元素推入堆栈列表中:
stackList.push(10); // 将元素 10 推入堆栈列表
stackList.push(20); // 将元素 20 推入堆栈列表
由于堆栈列表是一个 LIFO 结构,所以只能访问并操作堆栈顶部的元素。可以使用 top()
函数获取顶部元素的值:
int topElement = stackList.top(); // 获取堆栈顶部元素的值,这里是 20
堆栈列表也支持从顶部删除元素的操作,称为弹出(pop)操作。可以使用 pop()
函数将顶部元素弹出堆栈列表:
stackList.pop(); // 弹出堆栈顶部的元素
可以使用 empty()
函数判断堆栈列表是否为空,返回值为 true
表示堆栈列表为空,返回值为 false
表示堆栈列表不为空:
bool isEmpty = stackList.empty(); // 判断堆栈列表是否为空
可以使用 size()
函数获取堆栈列表中元素的个数:
int stackSize = stackList.size(); // 获取堆栈列表中元素的个数
下面是一个简单的示例代码,展示如何使用堆栈列表:
#include <iostream>
#include <stack>
int main() {
std::stack<int> stackList;
stackList.push(10);
stackList.push(20);
stackList.push(30);
while (!stackList.empty()) {
std::cout << stackList.top() << " "; // 输出堆栈顶部元素的值
stackList.pop(); // 弹出堆栈顶部的元素
}
return 0;
}
以上代码的输出结果为:
30 20 10
堆栈列表是C++ STL中常用的数据结构,通过使用堆栈列表,我们可以高效地实现先进后出的操作。了解并熟练掌握堆栈列表的使用方法,将为程序员在日常开发中带来便利。