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

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

C++ STL中的堆栈列表
简介

在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中常用的数据结构,通过使用堆栈列表,我们可以高效地实现先进后出的操作。了解并熟练掌握堆栈列表的使用方法,将为程序员在日常开发中带来便利。