STL中的stack与queue

前言:

stack与queue是STL中的容器适配器,而不是容器。何为适配器?给手机充电的充电器就是一种适配器,将高电压变成低电压。适配器是用来做转化的,不用来直接管理数据,而是在其他容器的基础上去封装转换。 

容器适配器简介:

容器适配器stack是C++ STL(标准模板库)中的一个组件,它提供了一种后进先出(Last In First Out, LIFO)的数据结构。stack适配器并不直接实现栈的数据结构,而是通过封装其他顺序容器(如vector、deque、list等)来实现栈的功能。

因此stack不是容器,而是为了实现栈的功能的一个适配器,为了支持后进先出,stack等容器适配器取消了迭代器的遍历方式,取消了迭代器的实现。

栈的使用:

主要是为了使用栈的后进先出的性质。


int main()
{stack<int> st;st.push(1);st.push(2);st.push(3);st.push(4);st.push(5);st.push(6);while (!st.empty()){cout << st.top() << " ";st.pop();}cout << endl;return 0;
}

入栈采用的函数是push,而不是push_back();

当然,我们入123456,不一定出654321。因为我们可以边入边出。

队列的使用:


int main()
{queue<int> q;q.push(1);q.push(2);q.push(3);q.push(4);q.push(5);q.push(6);while (!q.empty()){cout << "队列头部"<<q.front() << " ";	//queue用的是front而不是topcout << "队列尾部"<<q.back() << " ";cout << "队列大小" << q.size() << " ";cout << endl;q.pop();}return 0;
}

在出队列的过程中,没有第二种可能,始终是先进先出

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/410033.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Cadence23】Cadence HDL原理图如何将两个不同的全局网络连接

【转载】Cadence Design Entry HDL 使用教程 【Cadence01】Cadence PCB Edit相对延迟与绝对延迟的显示问题 【Cadence02】Allegro引脚焊盘Pin设置为透明 【Cadence03】cadence不小心删掉钢网层怎么办&#xff1f; 【Cadence04】一般情况下Allegro PCB设计时的约束规则设置&a…

Linux驱动开发基础(中断)

所学来自百问网 目录 1. 嵌入式中断系统 2. 中断处理流程 3. 异常向量表 4. Linux系统对中断的处理 4.1 ARM 处理器程序运行的过程 4.2 保护现场 5. Linux 系统对中断处理的演进 5.1 硬件中断和软件中断 5.2 中断拆分(上半部和下半部) 5.2.1 tasklet 5.2.2 工作队列…

Autofac容器

IoC&#xff1a;注册、注入&#xff08;解析&#xff09;、生命周期 Autofac的基本使用 基本使用 需要在NuGet包安装Autofac---建议7.1.0版本 注册&#xff1a; 默认注册&#xff1a; // 容器的初始化 ContainerBuilder builder new ContainerBuilder(); // 注册需要解析…

K8S部署MySQL5.7的主从服务

mysql-slave-0是master mysql-slave-1是slave 当mysql写的时候&#xff0c;找headless service中的 mysql-slave-0.mysql57-slave-headless&#xff1b;当mysql读的时候&#xff0c;找clusterip service中的mysql57-slave-read读&#xff0c;实现读写分离。 statefulset维护两个…

Linux操作系统常见面试题

前言 作者&#xff1a;小蜗牛向前冲 名言&#xff1a;我可以接受失败&#xff0c;但我不能接受放弃 如果觉的博主的文章还不错的话&#xff0c;还请点赞&#xff0c;收藏&#xff0c;关注&#x1f440;支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 分享常见的操作系统…

原创~尚未发表!基于改进秃鹰算法的多区域微网经济优化调度程序代码!

前言 随着光伏、风电等分布式电源的发展&#xff0c;配电网的供电模式得以改变&#xff0c;解决了传统火力发电带来的能源匮乏及环境污染问题&#xff0c;但其发电的随机性及波动性对配电网的稳定运行造成一定影响。以多个微电网组成的微电网群可有效消纳分布式电源&#xff0…

Anthropic公开Claude AI系统提示词

&#x1f989; AI新闻 &#x1f680; Anthropic公开Claude AI系统提示词 摘要&#xff1a;Anthropic公司近日公开了Claude AI模型的系统提示词&#xff0c;旨在提高AI模型对人类指令的理解。系统提示词设定了对话背景和行为规则&#xff0c;通常是为了防止模型出现不良行为。…

Python数据分析利器之groupby和pivot_table使用详解

概要 在数据分析的过程中,数据聚合与数据透视是两项非常重要的操作。Python的Pandas库提供了强大的工具——groupby和pivot_table,帮助我们高效地进行数据聚合和透视分析。本文将详细介绍如何使用这两个功能,并结合示例代码展示它们的实际应用,帮助更好地掌握数据分析的技…

PTA团体程序设计天梯赛

这次题目出得比前几次简单很多&#xff0c;但有几道题占用的时间太多&#xff0c;导致后面几题仓促写完&#xff0c;未能全部正确&#xff0c;还是得多练 目录 L1-2 九牛一毛 L1-3 小孩子才做选择&#xff0c;大人全都要 L1-5 试试手气 L1-6 打PTA L1-8 随机输一次 L2-…

C++ 类和对象 3

构造函数扩展 构造函数体内的赋值&#xff1a;构造函数一般是用于类对象的初始化的&#xff0c;但严谨来说并不是成员变量的初始化&#xff0c;内置类型的初始化是在生成的同时赋值而且仅有一次&#xff0c;但是在构造函数体内是能对成员变量进行多次赋值的。所以在函数体内的…

探索OpenCV:图像处理基础与实践

探索OpenCV&#xff1a;图像处理基础与实践 前言图像读取基础安装OpenCV库读取彩色与灰度图像 RGB颜色模型颜色通道解析单通道图像显示 感兴趣区域&#xff08;ROI&#xff09;图像处理进阶技巧图像打码图像组合图像缩放 结语 前言 在当今数字化时代&#xff0c;图像不仅是我们…

详谈进程等待

目录 前言1. 进程等待的必要性1.1 进程等待的定义 2. 如何进行进程等待2.1 wait 单进程2.2 wait 多进程2.3 status && 退出情况2.3.1 status 参数构成2.3.2 简证 status 参数构成2.3.3 进程等待失败2.3.4 宏调用查看退出信息 3. 进程等待的原理 前言 本篇文章继上一篇…

Hive SQL

一、基本数据类型 tinyint 1byte 有符号整数 smallint 2byte 有符号整数 int 4byte 有符号整数 bigint 8byte 有符号整数 boolean 布尔类型&#xff0c;true或者false float 单精度浮点数 double 双精度浮点数 decim…

C语言07---指针进阶

指针万能拆解法 char型指针 char型指针实质上跟别的类型的指针并无本质区别&#xff0c;但由于C语言中的字符串以字符数组的方式存储&#xff0c;而数组在大多数场合又会表现为指针&#xff0c;因此字符串在绝大多数场合就表现为char型指针。 定义&#xff1a; char *p &qu…

区块链国赛第六套样题(关于运维)

任务1-2&#xff1a;区块链系统部署与运维 围绕食品安全溯源区块链平台部署与运维需求&#xff0c;进行项目相关系统、节点以及管理工具的部署工作。通过监控工具完成对网络、节点服务的监控。最终利用业务需求规范&#xff0c;完成系统日志、网络参数、节点服务等系统结构的维…

Hadoop的HA配置与实现(ZooKeeper)

目录 一、Hadoop的HA架构二、配置实现Hadoop的HA三、效果 一、Hadoop的HA架构 集群规划 112&#xff1a;NameNode1 ResourceManager1 JournalNode1 113&#xff1a;NameNode2 ResourceManager2 JournalNode2 114&#xff1a;DataNode1 NodeManager1 115&#xff1a;DataNode2 N…

linux 云主机下载 rpm 包安装 oracle java jdk21 实录(华为云 EulerOS)

本来是想通过 yum install 相关的 openjdk 版本的, 但老是提示说找不到, 也不想去配置相关的仓库了, 所以改成去 oracle 官网下载 jdk21 的 rpm 包来安装. 云主机是华为云的 EulerOS , 具体为 Huawei Cloud EulerOS 2.0 标准版 64位(公共镜像), 相对于用的比较熟 centos, 差别…

学习之在window上安装MySQL server 并连接到Navicat

一、下载 下载地址&#xff1a;https://www.mysql.com/ 二、安装 1、双击软件安装2、点击yes

云计算实训36——mysql镜像管理、同步容器和宿主机时间、在容器外执行容器内命令、容器的ip地址不稳定问题、基础镜像的制作、镜像应用

一、线上考试系统的数据虚拟化技术部署 1.部署前段服务器 步骤一&#xff1a;将资源上传到服务器 将dist.zip上传给服务器 下载unzip的包 yum -y install unzip 解压 unzip dist.zip 步骤二&#xff1a;创建基础容器在服务器上 启动服务 systemctl start docker.servic…

用 Go 语言实现常见的十大排序算法(上)

十大常见的排序算法有&#xff1a; 冒泡排序&#xff08;Bubble Sort&#xff09; 选择排序&#xff08;Selection Sort&#xff09; 插入排序&#xff08;Insertion Sort&#xff09; 希尔排序&#xff08;Shell Sort&#xff09; 归并排序&#xff08;Merge Sort&#xf…