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

STL详解——stack与queue的介绍与使用

目录

stack

stack的介绍

stack的定义

stack的使用

queue

queue的介绍

queue的定义

queue的使用


stack

stack的介绍

stack是一种容器适配器,专门用在具有后进先出操作的上下文环境中,其只能从容器的一端进行元素的插入与提取操作。

stack的定义

第一种方法 使用默认的适配器定义栈:

stack<int> st1;

第二种 使用特定的适配器定义栈:

stack<int, vector<int>> st2; stack<int, list<int>> st3;

注意: 如果没有为stack指定特定的底层容器,默认情况下使用deque。

stack的使用

stack当中常用的成员函数如下:

成员函数功能
empty判断栈是否为空
size获取栈中有效元素个数
top获取栈顶元素
push元素入栈
pop元素出栈
swap交换两个栈中的数据

代码示例:

stack<int> s1; s1.push(1); s1.push(2); s1.push(3); s1.push(4); s1.push(5); s1.push(6); cout << s1.size() << endl; cout << s1.top() << endl; s1.pop(); cout << s1.top() << endl; while (!s1.empty()) { cout << s1.top() << ' '; s1.pop(); } cout << endl;

queue

queue的介绍

队列是一种容器适配器,专门用在具有先进先出操作的上下文环境中,其只能从容器的一端插入元素,另一端提取元素。

queue的定义

第一种方法 使用默认的适配器定义队列

queue<int> q1;

第二种方法 使用特定的适配器定义队列

queue<int, vector<int>> q2; queue<int, list<int>> q3;

注意: 如果没有为queue指定特定的底层容器,默认情况下使用deque。

queue的使用


queue当中常用的成员函数如下:

成员函数功能
empty判断队列是否为空
size获取队列中有效元素个数
front获取队头元素
back获取队尾元素
push队尾入队列
pop队头出队列
swap交换两个队列中的数据
#include <iostream> #include <list> #include <queue> using namespace std; int main() { queue<int, list<int>> q; q.push(1); q.push(2); q.push(3); q.push(4); cout << q.size() << endl; //4 while (!q.empty()) { cout << q.front() << " "; q.pop(); } cout << endl; //1 2 3 4 return 0; }

我们额外讲讲适配器,就是指定底层具体使用哪种数据结构来实现这个stack和queue,一般就默认的就行了,因为stack以及queue都只是容器适配器,存储模式需要我们指定结构来实现。

http://www.jsqmd.com/news/888498/

相关文章:

  • Speculative RAG:基于Transformer KV缓存的推测式检索增强生成
  • 2025-2026年国内充电桩建站厂家推荐:十大排行产品评测物流枢纽大功率补能性价比高特点 - 品牌推荐
  • 2026年4月制热机组工厂推荐,高大空间空调机组/表冷换热器/冷暖机组/离心式风幕机/换热器,制热机组工厂哪家强 - 品牌推荐师
  • 算法的渐进复杂度与现实执行性能差异研究的技术6
  • Codex 把我家烂网给优化后,我 TM 直接原地起飞了。
  • 饲料颗粒机生产商哪家靠谱
  • Firebase Studio:本地仿真闭环与规则可视化调试实战指南
  • STM32CubeIDE 代码补全:用法和几个常见坑
  • 2026年4月当下优质的北京注册地址公司口碑推荐,北京小规模记账/北京代理记账/北京注册地址,北京注册地址企业口碑推荐 - 品牌推荐师
  • 实测iSolarBP Pro,光伏设计效率翻倍的秘密,手动党必看!
  • AI编程协作:从语法记忆到意图表达的开发模式变革
  • Snowflake数据入湖实战:从Pipe到Task的工程化选型与避坑指南
  • 2025-2026年充电桩建站厂家推荐:五大排行评测城市补能痛点专业市场份额选择指南 - 品牌推荐
  • 2026数字孪生仿真能力技术观察:从数据驱动到场景推演与物理AI
  • AI 对话流量新赛道:搜极星 GEO 品牌监测全维度解读
  • CAS:基于Go的AI终端工作台,重构人机协同工作流
  • 2026年5月北京十大装修公司排行榜推荐:专业评测环保家装防甲醛案例价格 - 品牌推荐
  • 初次在Taotoken模型广场选型并成功调用新上线模型的步骤
  • Codex 官网访问 + 完整安装教程:macOS / Windows / Linux 一次跑通(2026)
  • 嵌入式测试学习第 18 天:固件基础:烧录、升级、OTA
  • PowerSetting极速下载优化方案全解析
  • 破解软件开发中的90%完成悖论:从任务分解到团队协作的实战指南
  • 2025-2026年天津国际学校推荐:五大高性价比选择评测课程衔接案例市场份额 - 品牌推荐
  • 微信小游戏19MB主包体积控制实战指南
  • 记一次Android进程native内存泄漏分析
  • 2025-2026年上海搬家公司推荐:五大口碑评测办公室搬迁高效停工注意事项性价比高 - 品牌推荐
  • FreeRTOS 实战:互斥量与优先级继承——从代码到现象完全解析
  • AI智能体构建:从概念到工程实践的完整指南
  • 告别多模型集成噩梦:DMXAPI如何用“改两行配置”统一调用DeepSeek、豆包等大模型
  • 冷门实用插件盘点,大幅缩减作图时长