STL——stack容器和queue容器详解

目录
💡stack
💡基本概念
常用接口
💡queue
💡基本概念
💡常用接口

💡stack
💡基本概念
栈(stack):一种特殊的线性表,其只允许在固定的一端进行插入和删除操作。在进行数据插入和删除的一端称为栈顶,另一端称为栈低。栈中的元素都遵循后进先出的原则(LIFO,Last In First Out)。
压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。
出栈:栈的删除操作叫做出栈。出数据也在栈顶。



生活中栈的例子:

常用接口
功能描述:
- 栈容器常用的对外接口
构造函数:
- stack<T> stk; //stack采用模板类实现, stack对象的默认构造形式
- stack(const stack &stk); //拷贝构造函数
赋值操作:
- stack& operator=(const stack &stk); //重载等号操作符
数据存取:
- push(elem); //向栈顶添加元素
- pop(); //从栈顶移除第一个元素
- top(); //返回栈顶元素
大小操作:
empty(); //判断堆栈是否为空
size(); //返回栈的大小
stack<int>st;//入栈st.push(10);st.push(20);st.push(30);st.push(40);//栈顶cout << "size=" << st.size() << endl;while (!st.empty()){cout << st.top() << endl;st.pop();}cout << "size="<<st.size() << endl;
💡queue
💡基本概念
队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出 FIFO(First In First Out)
入队列:进行插入操作的一端称为队尾
出队列:进行删除操作的一端称为队头




💡常用接口
功能描述: 栈容器常用的对外接口
构造函数:
- queue<T> que; //queue采用模板类实现,queue对象的默认构造形式
- queue(const queue &que); //拷贝构造函数
赋值操作:
- queue& operator=(const queue &que); //重载等号操作符
数据存取:
- push(elem); //往队尾添加元素
- pop(); //从队头移除第一个元素
- back(); //返回最后一个元素
- front(); //返回第一个元素
大小操作:
- empty(); //判断堆栈是否为空
- size(); //返回栈的大小
queue<int>q;q.push(10);q.push(20);q.push(30);q.push(40);cout << q.front() << endl;//队头元素cout << q.back() << endl;//队尾元素cout <<"size= "<< q.size() << endl;//大小//先进先出while (!q.empty()){cout << q.front() << endl;q.pop();}cout <<"size= "<< q.size() << endl;
相关文章:
STL——stack容器和queue容器详解
目录 💡stack 💡基本概念 常用接口 💡queue 💡基本概念 💡常用接口 💡stack 💡基本概念 栈(stack):一种特殊的线性表,其只允许在固定的一端…...
django websocket实现聊天室功能
注意事项channel版本 django2.x 需要匹配安装 channels 2 django3.x 需要匹配安装 channels 3 Django3.2.4 channels3.0.3 Django3.2.* channels3.0.2 Django4.2 channles3.0.5 是因为最新版channels默认不带daphne服务器 直接用命令 python manage.py runsever 默认运行的是w…...
软件测评中心▏性能测试之压力测试、负载测试的区别和联系简析
在如今的信息时代,软件已经成为人们日常工作和生活不可或缺的一部分。然而,随着软件的发展和应用范围的不断扩大,软件性能的优劣也成为了影响用户使用体验的重要因素。 软件性能测试即对软件在不同条件下的性能进行评估和验证的过程。通过模…...
Go 语言 panic 和 recover 详解
panic() 和 recover() 是 Go 语言中用于处理错误的两个重要函数。panic() 函数用于中止程序并引发panic,而 recover() 函数用于捕获panic并恢复程序的执行。 什么是panic和recover? panic panic() 函数用于中止程序并引发panic。panic() 函数可以接收…...
NAND Separate Command Address (SCA) 接口数据传输解读
在采用Separate Command Address (SCA) 接口的存储产品中,DQ input burst和DQ output burst又是什么样的策略呢? DQ Input Burst: 在读取操作期间,数据以一种快速并行的方式通过DQ总线传送到控制器。在SCA接口下,虽然命令和地址信…...
彻底认识Unity ui设计中Space - Overlay、Screen Space - Camera和World Space三种模式
文章目录 简述Screen Space - Overlay优点缺点 Screen Space - Camera优点缺点 World Space优点缺点 简述 用Unity中开发了很久,但是对unity UI管理中Canvas组件的Render Mode有三种主要类型:Screen Space - Overlay、Screen Space - Camera和World Spa…...
档案数字化怎样快速整理资料
对于机构和组织来说,档案数字化是一个重要的信息管理和保护措施。要快速整理资料进行档案数字化,可以遵循以下步骤: 1. 准备工具和设备:确保有一台计算机、扫描仪和相关软件。 2. 分类和组织资料:先将资料分类…...
面试算法100:三角形中最小路径之和
题目 在一个由数字组成的三角形中,第1行有1个数字,第2行有2个数字,以此类推,第n行有n个数字。例如,下图是一个包含4行数字的三角形。如果每步只能前往下一行中相邻的数字,请计算从三角形顶部到底部的路径经…...
androj studio安装及运行源码
抖音教学视频 目录 1、 jdk安装 2、下载安装androj studio 3 、打开源码安装运行相关组件 4、 安装模拟器 1、 jdk安装 安卓项目也是java开发的,运行在虚拟机上,安装jdk及运行的时候,就会自动生成虚拟机, jdk前面已经讲过&…...
【Web】token机制
🍎个人博客:个人主页 🏆个人专栏:Web ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 机制基本: 优势: 结语 我的其他博客 前言 在当今互联网时代,安全、高效的用户身份验证和资源授…...
JVM 11 调优指南:如何进行JVM调优,JVM调优参数
JVM 11的优化指南:如何进行JVM调优,以及JVM调优参数有哪些”这篇文章将包含JVM 11调优的核心概念、重要性、调优参数,并提供12个实用的代码示例,每个示例都会结合JVM调优参数和Java代码 本文已收录于,我的技术网站 dd…...
横版动作闯关游戏:幽灵之歌 GHOST SONG 中文版
在洛里安荒凉的卫星上,一件长期休眠的死亡服从沉睡中醒来。踏上发现自我、古老谜团和宇宙骇物的氛围2D冒险之旅。探索蜿蜒的洞穴,获得新的能力来揭开这个外星世界埋藏已久的秘密。 游戏特点 发现地下之物 探索这个广阔而美丽如画,充满密室和诡…...
【C++】:C++中的STL序列式容器vector源码剖析
⛅️一 vector概述 vector的使用语法可以参考文章: 总的来说:vector是可变大小数组 特点: 支持快速随机访问。在尾部之外的位置插入或删除元素可能很慢 元素保存在连续的内存空间中,因此通过下标取值非常快 在容器中间位置添加…...
final
//用final修饰的成员变量,必须在声明时或代码块中或构造函数中进行赋值 //但是在声明同时赋值或者代码块中赋值,赋值后不能改变,如果想改变 需要在构造方法中赋值...
【AI】ObjectCenteredSensing
1. 物体检测 .1. 流体 D. V. Q. Rodrigues, D. Rodriguez and C. Li, “Liquid Aerosol Detection Based on Sub-THz Portable Doppler Radars,” 2020 IEEE Asia-Pacific Microwave Conference (APMC), 2020, pp. 504-506, doi: 10.1109/APMC47863.2020.9331483. [pdf] Bala …...
一阶低通滤波器
一阶低通滤波器 X为输入,Y为滤波后得到的输出值;本次的输出结果主要取决于上次的滤波输出值,其中a是和滤波效果有关的一个参数,称为滤波系数;它决定新采样值在本次滤波结果中所占的权重; 滤波系数a越小&a…...
【排序算法】插入排序与希尔排序,你不想知道为什么希尔比插入更快吗?
文章目录 🚀前言🚀插入排序(insertsort)✈️原理✈️代码实现(coding) 🚀总结🚀希尔排序(shellsort)✈️代码实现(coding)✈️为啥希尔…...
Unity中向量的点乘、叉乘区别和作用以及经典案例
文章目录 点乘(Dot Product)叉乘(Cross Product)向量归一化(Normalize)其他作用 unity开发中我们要计算角度,判断位置,常用点乘、叉乘、归一化等等,我们看看他们的使用案…...
(26)Linux 进程通信之共享内存(共享储存空间)
共享内存是System V版本的最后一个进程间通信方式。共享内存,顾名思义就是允许两个不相关的进程访问同一个逻辑内存,共享内存是两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常为同一段物理内存。进程可以将同一…...
体感游戏开发体感互动游戏
体感健身游戏是一种利用特定技术来跟踪和响应玩家身体动作的互动式电子游戏。这种游戏类型的目的是通过有趣、动态的方式鼓励用户进行身体活动和健康锻炼。下面是有关体感健身游戏的一些重要信息: 体感游戏技术背景 体感技术:这些游戏通常使用运动传感…...
Claude Tool Use 怎么用?从零到生产的完整教程(2026)
上周接了个需求,做一个能查天气、查数据库、还能发邮件的 AI 助手。一开始想着用 LangChain 套一层,后来发现 Claude 原生的 Tool Use(也叫 Function Calling)已经很成熟了,根本不需要额外框架。但官方文档写得有点绕&…...
如何快速完成亚马逊SP-API注册:AWS IAM策略与角色配置详解
亚马逊SP-API高效注册指南:从AWS IAM配置到应用上线的全流程解析 当你的电商业务需要与亚马逊平台深度集成时,SP-API(Selling Partner API)将成为不可或缺的工具。作为亚马逊新一代的开发者接口,它比传统的MWS提供了更…...
【TC3xx芯片】Endinit机制实战:从解锁到上锁的完整代码解析
1. TC3xx芯片Endinit机制的核心作用 在嵌入式系统开发中,寄存器保护是确保系统稳定性的关键机制。TC3xx系列芯片采用的Endinit(End of initialization)保护方案,就像给重要寄存器装了一把智能密码锁。想象一下,你家的保…...
别再折腾CUDA了!用Anaconda在Windows上一键搞定TensorFlow 2.5 GPU环境(附清华源配置)
告别CUDA版本地狱:Anaconda三分钟部署TensorFlow GPU全攻略 刚接触深度学习的开发者们,往往在第一步就被GPU环境配置劝退。CUDA与cuDNN的版本匹配问题像一道高墙,让无数Windows用户在TensorFlow门前徘徊。我曾见过同事花三天时间反复卸载重装…...
nlp_structbert_sentence-similarity_chinese-large赋能微信小程序:实现文本查重功能
nlp_structbert_sentence-similarity_chinese-large赋能微信小程序:实现文本查重功能 最近和一位做在线教育的朋友聊天,他提到一个挺头疼的问题:批改学生作文时,经常发现不同学生提交的作业内容高度相似,甚至有大段雷…...
别再只会复制代码了!用CubeMX配置STM32F407的PWM驱动TB6612,从原理到实战一次搞懂
从零构建PWM电机控制系统:STM32F407与TB6612的深度实践指南 引言:为什么你需要摆脱复制粘贴的陷阱 在实验室里,我见过太多学生面对电机控制项目时的第一反应——打开搜索引擎,寻找"STM32 PWM驱动电机代码",然…...
Pixel Dream Workshop 助力前端开发:Vue.js 项目动态视觉素材生成指南
Pixel Dream Workshop 助力前端开发:Vue.js 项目动态视觉素材生成指南 1. 为什么前端开发者需要关注视觉素材生成 作为一名Vue.js开发者,你可能经常遇到这样的困扰:产品经理突然要求给新功能加个炫酷的Banner图,设计师资源紧张排…...
如何分析竞争对手的seo关键词
<h2>如何分析竞争对手的SEO关键词</h2> <p>在当今竞争激烈的互联网市场中,了解和分析竞争对手的SEO关键词是提升自己网站排名的关键。SEO关键词分析不仅可以帮助你发现市场上的机会,还能让你更好地了解竞争对手的策略,从而…...
避坑指南:从Paraformer到SenseVoice,语音模型训练数据准备的5个常见错误
避坑指南:从Paraformer到SenseVoice,语音模型训练数据准备的5个常见错误 语音识别和多模态语音模型正在重塑人机交互的边界。当Paraformer凭借其简洁的音频-文本配对要求成为ASR领域的新宠时,SenseVoice却以情感识别、事件标记等多维度分析能…...
惊艳!Pi0具身智能v1动作轨迹可视化:关节控制曲线清晰呈现
惊艳!Pi0具身智能v1动作轨迹可视化:关节控制曲线清晰呈现 1. 具身智能的动作可视化革命 在机器人实验室里,工程师小李正盯着屏幕上一堆杂乱的数据点发愁——这是他们最新研发的机械臂在执行抓取任务时生成的关节角度数据。理论上这些数字应…...
