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

【STL——stack容器】

引入

stack(栈)容器是一种先进后出的容器,两端只有一个开口,只能从这一个开口插入和删除数据。可以想象成量杯,如果分批次放满麦子,从杯口放入且从杯口取,先取的一定是最上面那层的麦子,也就是最后放的。麦子的存取顺序就是先进后出(或后进先出)。
在这里插入图片描述

在前面已经发布的栈这一篇中有更多例图供参考,可自行查看:数据结构——栈
在C++中使用该容器,需要加头文件stack:

#include < stack>

构造函数
  • 默认构造函数,拷贝构造函数,赋值函数
void testQ() {stack <int> stkT;   //默认构造函数stack<int> s1(stkT); //拷贝构造函数//赋值函数:重载等号操作符
//在C++中,赋值操作符(operator=)必须作为类的成员函数出现class stack {public://在类内部声明时,我们通常不需要写模板参数Tstack& operator=(const stack& stkT);};}
数据存取

push(elem);//向栈顶添加元素
pop();//从栈顶移除第一个元素
top();//返回栈顶元素

void testQ() {stack <int> stk;   stk.push(11);stk.push(22);stk.push(33); //11,22,33依次入栈cout<<stk.top()<<endl;    //获得栈顶元素:33stk.pop();    //栈顶元素33出栈,还剩11、22stk.pop();    //栈顶元素22出栈,还剩11cout<<stk.top();    //获得栈顶元素:11}
判空与大小

empty();//判断堆栈是否为空
size();//返回堆栈的大小

void testQ() {stack <int> stk;   stk.push(11);stk.push(22);stk.push(33); //11,22,33依次入栈cout<<stk.size()<<endl;    //获得栈大小:3stk.pop();    //栈顶元素33出栈,还剩11、22stk.pop();    //栈顶元素22出栈,还剩11cout << stk.empty() << endl;    //判空:不为空,输出0stk.pop();    //栈顶元素11出栈,为空栈cout << stk.empty();    //判空:为空,输出1}
例题

输入一个十进制整数,输出对应的二进制数。

void testQ() {stack<int> stk;int n = 0;cin >> n;while (n) {stk.push(n % 2);n /= 2;}while (!stk.empty()) {cout << stk.top();stk.pop();}}
http://www.dtcms.com/a/512421.html

相关文章:

  • DeepSeek-OCR:上下文光学压缩
  • QML 模块解析:从核心模块分类介绍到实际应用的组件与功能说明(之二)
  • 凡科建设网站我对网站开发的反思
  • 东莞专业的网站设计价格领先的手机网站设计
  • SQLite数据库查询
  • Python列表(List)完全指南:从入门到实战优化
  • DeepSeek刚刚开源了一个3B的 OCR模型:什么是DeepSeek-OCR?单张A100-40G每天可以处理20万+页文档
  • html5企业网站赏析石家庄专门做网站
  • 颍上县住房和城乡建设局网站深圳网络工程公司
  • ESP32学习笔记(基于IDF):ESP32连接MQTT服务器
  • 网站建设敬请期待图片素材wordpress 获取菜单id
  • 做网站用什么源码最好wordpress建站优势
  • 网站图标 代码微信开发网站建设程序
  • 修改 Docker 容器中 MySQL 8.0 默认编码为 utf8mb4_unicode_ci
  • C# Dictionary 线程安全指南:多线程下操作 Dictionary<string, DateTime> 的加锁策略
  • 企业im聊天软件支持什么功能,应该怎么选?
  • 【Linux系统编程】权限的概念
  • githup网站建设网站营销站点有你想
  • 差分|递归
  • 如何通过纺织服装MES系统提升生产效率和管理水平?
  • 打通智慧高速核心系统:湖南某新建项目的收费、通信、监控一体化实践
  • 河南网站建设优化技术福建省建设干部网站
  • 智能机器人:今年双十一“减人增效”的AI智能客服机器人方案
  • 市环保局网站建设方案建站公司哪家好 知道万维科技
  • 房产中介网站建设的目的cms 美容网站 模版
  • vue开发中,如果出现了反显数据有问题(后端明明返回的有数据,但就是不反显,没有值)是什么原因
  • 【2025-系统规划与管理师】第12章:信息系统服务管理
  • C++---嵌套类型(Nested Types)封装与泛型的基石
  • Floyd判圈算法(Floyd Cycle Detection Algorithm)
  • 网站建设支付宝温州建设学校网站