当前位置: 首页 > news >正文

C++ stack用法总结

std::stack 是 C++ 标准模板库(STL)中的容器适配器,它提供了栈(stack)的功能,基于其他序列容器实现。以下是 std::stack 的用法总结:

包含头文件:

#include <stack>

创建 std::stack 对象:

std::stack<ElementType> myStack;
  • ElementType 是栈中元素的类型。

压入元素到栈中:

myStack.push(element);

弹出栈顶元素:

myStack.pop();

获取栈顶元素:

ElementType topElement = myStack.top();

检查栈是否为空:

bool isEmpty = myStack.empty();

获取栈的大小:

size_t size = myStack.size();

示例:

#include <iostream>
#include <stack>int main() {std::stack<int> myStack;// 压入元素myStack.push(10);myStack.push(20);myStack.push(30);// 获取栈顶元素std::cout << "Top element: " << myStack.top() << std::endl;// 弹出栈顶元素myStack.pop();// 获取栈的大小std::cout << "Stack size: " << myStack.size() << std::endl;// 遍历栈(栈没有迭代器,需要弹出元素直至为空)while (!myStack.empty()) {std::cout << myStack.top() << " ";myStack.pop();}std::cout << std::endl;return 0;
}

这是一个简单的使用 std::stack 的例子。栈是一个后进先出(Last-In-First-Out,LIFO)的数据结构,std::stack 提供了对栈操作的方便接口。在实际应用中,栈常常用于解决问题,例如表达式求值、递归问题的迭代实现等。

http://www.lryc.cn/news/275841.html

相关文章:

  • 【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax概述
  • PHP 基础编程 2
  • git merge origin master 和 git merge origin/master 的区别
  • 数据挖掘 模糊聚类
  • Vue2和Vue3各自的优缺点以及区别对比
  • 手写一个加盐加密算法(java实现)
  • 基于Springboot的在线考试系统
  • 【React系列】JSX核心语法和原理
  • 【C++初阶(九)】C++模版(初阶)----函数模版与类模版
  • Permission denied
  • 轻松学会电脑如何录制音频
  • react antd,echarts全景视图
  • GD32 支持IAP的bootloader开发,使用串口通过Ymodem协议传输固件(附代码)
  • 【C#】知识点实践序列之UrlEncode在线URL网址编码、解码
  • 泽攸科技完全自主研制的电子束光刻机取得阶段性成果
  • 上篇 | CDP应用篇之兴趣标签的3种破圈玩法
  • 智能的核心依然是哲学的三个基本问题
  • 用python实现提取word中的所有图片
  • CoTracker 环境配置与ORB 特征点提取结合实现视频特征点追踪
  • 10000000000 大瓜背后的真相(附 PDD 算法真题)
  • python爬虫,简单的requests的get请求,百度搜索实例
  • UNION 和 UNION ALL
  • NPS 内网穿透安装
  • 【C++学习笔记】C++多值返回写法
  • 读取带有梯度的张量的具体的值
  • 【分布式微服务专题】SpringSecurity快速入门
  • EasyRecovery2024永久免费版电脑数据恢复软件
  • iphone 苹果 IOS 越狱详细图文保姆级教程非常简单
  • 华为HarmonyOS 创建第一个鸿蒙应用 运行Hello World
  • [C#]Onnxruntime部署Chinese CLIP实现以文搜图以文找图功能