C++ STL(4)stack


前言:

C++ 标准模板库(STL)中的 stack 是一种后进先出(LIFO, Last In First Out)的容器适配器。它只允许在容器的顶端进行元素的插入和删除操作。

一、stack

1、基本概念

stack 容器本身并不直接存储数据,而是通过封装其他容器(如 dequevectorlist)来实现其功能。默认情况下,stack 使用 deque 作为其底层容器。

2、声明与初始化

  • 默认构造函数

    std::stack<int> myStack; // 创建一个空的栈,存储int类型元素
    
  • 指定底层容器的构造函数(不常用,因为 stack 默认使用 deque

    std::stack<int, std::vector<int>> myStackWithVector; // 使用vector作为底层容器
    

3、常用操作

  • push(const T& value):在栈顶插入一个元素。
  • pop():移除栈顶元素。
  • top():返回栈顶元素的引用,但不移除它。
  • empty():检查栈是否为空。
  • size():返回栈中元素的数量。

4、注意事项

  • stack不直接提供迭代器支持。
  • stack不支持直接访问栈中的元素(除了栈顶元素),也不能遍历栈中的元素。
  • 使用 pop 函数之前,最好先检查栈是否为空,以避免未定义行为。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值