stack/queue容器

news2024/11/27 14:49:51

stack容器

std::stack 是 C++ 标准库中定义的容器适配器(container adaptor),它基于其他底层容器(如 std::dequestd::list std::vector)实现了后进先出(LIFO)的数据结构。栈容器没有迭代器,不支持遍历行为
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

stack的常用接口

1.构造函数

  • stack<T> stk; //stack采用模板类实现,默认构造,T为数据类型,如int等
  • stack(const stack &stk); //拷贝构造

对于 std::stack 容器类,拷贝构造函数用于创建一个与原始栈完全相同的新栈。它将复制原始栈中的所有元素,并保持它们的相对顺序和数量。这意味着在拷贝构造函数后,原始栈和新栈是独立的,它们各自管理自己的内存,对其中一个栈进行修改不会影响另一个栈。

std::stack<int> originalStack;

// 使用拷贝构造函数创建一个新的栈对象
 std::stack<int> newStack(originalStack);


2.赋值函数

tack& operator=(const stack& stk);//重载赋值运算符

用于将一个对象的值赋给另一个已经存在的对象。对于 std::stack 类来说,赋值运算符 operator= 被重载用于实现一个栈对象赋值给另一个栈对象的操作。
当使用赋值运算符 = 将一个栈对象赋给另一个栈对象时,它会首先清空目标栈,然后将源栈中的元素复制到目标栈中,以实现两个栈对象之间的值的拷贝。

		std::stack<int> sourceStack;
		sourceStack.push(10);
		sourceStack.push(20);
		sourceStack.push(30);

		std::stack<int> targetStack;

		//使用赋值运算符将源栈赋给目标栈
		 targetStack = sourceStack;
		 

3.数据存取

  • push(elem); //入栈,向栈顶添加元素
  • pop(); //出栈,删除栈顶元素
  • top(); //返回栈顶元素

4.大小操作

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

queue容器

queue 是一个容器适配器,它是基于 deque(双端队列)或 list(链表)实现的。它提供了队列数据结构的功能,即按照先进先出(FIFO)的顺序来访问和处理元素。queue容器没有迭代器,不支持遍历行为

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

queue的操作

  • push(const T& value): 将一个元素放入队列的末尾。
  • pop(): 删除队列的第一个元素。
  • front(): 返回队列的第一个元素的引用。
  • back(): 返回队列的最后一个元素的引用。
  • empty(): 检查队列是否为空。
  • size(): 返回队列中元素的数量。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaScript_10_练习:轮播图

效果图 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>练习&#xff1a;轮播图</title>…

OD C卷 - 查找一个有向网络的头节点和尾节点

查找一个有向网络的头节点和尾节点 &#xff08;200&#xff09; 在一个有向图中&#xff0c;有向边用两个整数表示&#xff0c;第一个整数表示起始节点&#xff0c;第二个整数表示终止节点&#xff1b;图中只有一个头节点&#xff0c;一个或者多个尾节点&#xff1b;图可能存…

Linux系统信息排查

目录 介绍步骤 介绍 1、熟悉查看CPU信息、操作系统信息、用户信息、特殊权限账户、启动项和任务计划的排查命令 2、在进行受害主机排查时&#xff0c;首先要对主机系统进行基本排查&#xff0c;方便对受害主机有一个初步的了解。 3、利用lscpu和uname -a查看系统硬件软件基本…

JavaScript(28)——正则表达式

定义正则表达式语法&#xff1a; const 变量名 /表达式/ 判断是否有符合规则的字符串&#xff1a; test()方法 用来查看正则表达式与指定的字符串是否匹配 语法&#xff1a; regObj.test(被检测的字符串) //返回布尔值 regObj.exec(字符串) //返回的是数组 <script>…

基于Docker compose部署Confluence 8.3.4及设置数据持久化存储的总结

基于Docker compose部署Confluence 8.3.4及设置数据持久化存储的总结 一、环境信息二、安装部署三、向导 介绍如何基于Docker、Docker Compose的方式安装部署Confluence 8.3.4&#xff0c;并且设置数据的持久化存储。 一、环境信息 操作系统&#xff1a;CentOS 7.9 Docker Ver…

C++之多态(下)

目录 多态的实现原理 多态的拓展 单继承中的多态 多继承中的多态 上期&#xff0c;我们学习了多态的基本概念&#xff0c;本期我们来学习多态的实现原理。 多态的实现原理 class Base { public:virtual void func1(){cout << "Base::func1()" <<…

CUTLASS 中的 47_ampere_gemm_universal_streamk 示例

前一篇文章介绍了 Stream-K: Work-centric Parallel Decomposition for Dense Matrix-Matrix Multiplication on the GPU 论文&#xff0c;下面对其代码实现进行分析。 cutlass 的 examples/47_ampere_gemm_universal_streamk 展示了 GEMM Stream-K 算法在 Ampere 架构上的使用…

健身房管理系统--论文pf

TOC springboot542健身房管理系统--论文pf 第1章 绪论 1.1选题动因 当前的网络技术&#xff0c;软件技术等都具备成熟的理论基础&#xff0c;市场上也出现各种技术开发的软件&#xff0c;这些软件都被用于各个领域&#xff0c;包括生活和工作的领域。随着电脑和笔记本的广泛…

思特科技:国家宝藏数字体验馆展现东方美学 让“文物活起来”

01      思特科技为“国家宝藏数字体验展”提供“数字技术”支持&#xff0c;带来国宝的数字化演绎。以《国家宝藏》顶级IP为基础&#xff0c;打造的全新沉浸文化项目“国宝数字体验展“&#xff0c;借由文物的视角、站在历史的星河中&#xff0c;探寻时间长河中不变的智慧…

设计模式笔记02(java版)

文章目录 创建者模式单例设计模式 ★单例模式的结构单例模式的实现饿汉式-方式1&#xff08;静态变量方式&#xff09;饿汉式-方式2&#xff08;静态代码块方式&#xff09;懒汉式-方式1&#xff08;线程不安全&#xff09;懒汉式-方式2&#xff08;线程安全&#xff09;懒汉式…

Linux环境安装 JDK

目录 JDK准备 1&#xff09;卸载现有JDK&#xff08;3台节点&#xff09; 2&#xff09;用Xftp工具将JDK导入到hadoop12的/opt/software文件夹下面 3&#xff09;在Linux系统下的opt目录中查看软件包是否导入成功 4&#xff09;解压JDK到/opt/module目录下 5&#xff09;配…

数据恢复新宠儿:2024年新兴软件趋势与亮点解析

你的手机、优盘、电脑里是不是都存储这你生活的点点滴滴&#xff1f;不知道你有没有遇到过数据误删或者消失的情况。如果有数据恢复精灵能帮你找回数据是不是为你的数据找回点亮了方向。这次我就介绍几款数据恢复工具带你走出数据丢失的困境。 1.福昕数据恢复 链接直达&#…

告别 Coding 噩梦-掌握这10个习惯,成为大数据开发高手

你是否曾在半夜被一个顽固的bug折磨得睡不着觉?是否因为理解不了复杂算法而感到沮丧?别担心,你并不孤单。作为一名经验丰富的大数据开发者,我深知编程之路上的挫折感。但今天,我要和你分享我是如何在这条充满荆棘的道路上找到突破,最终成长为一名得心应手的编程高手的。 前…

达梦数据库的系统视图v$tablespace

达梦数据库的系统视图v$tablespace 在达梦数据库&#xff08;DM Database&#xff09;中&#xff0c;V$TABLESPACE 提供了有关数据库中的表空间&#xff08;Tablespace&#xff09;信息。这些信息对于管理数据库存储和优化性能非常关键。表空间是数据库逻辑存储结构的一个层次…

基于Java的小区物业管理系统设计与实现

TOC springboot596基于Java的小区物业管理系统设计与实现--论文 研究背景 小区物业管理系统主要通过计算机网络&#xff0c;对小区物业管理系统所需的信息进行统一管理&#xff0c;方便用户随时随地进行增添、修改、查询、删除各类信息。本系统极大的促进了系统与数据库管理…

Python编码系列—前端后浪:Python前后端分离开发实战指南

&#x1f31f;&#x1f31f; 欢迎来到我的技术小筑&#xff0c;一个专为技术探索者打造的交流空间。在这里&#xff0c;我们不仅分享代码的智慧&#xff0c;还探讨技术的深度与广度。无论您是资深开发者还是技术新手&#xff0c;这里都有一片属于您的天空。让我们在知识的海洋中…

我“开发“了一款大模型应用,AI门槛这么低了吗?

现在国产大模型多如牛毛。虽然可选的大模型产品很多&#xff0c;但普遍存在同质化、高分低能、实用性差、专业性不足的问题&#xff0c;哪怕是诸如ChatGPT、Gemini这样全球顶尖的大模型也会存在这种情况。 还有一点比较重要的是&#xff0c;由于大模型需要算力、算法、数据的基…

干货:2024年四大翻译工具新体验!

在全球化的今天&#xff0c;语言的障碍似乎越来越小&#xff0c;这得益于各种翻译工具的飞速发展。从简单的在线翻译到复杂的AI翻译技术&#xff0c;我们有了更多的选择来跨越语言的鸿沟。以下是几款备受推崇的翻译工具&#xff0c;推荐给大家 福昕在线翻译 链接&#xff1a;…

onlyoffice连接器(connector)开发使用精讲 二次开发 深入开发【一】

连接器是onlyoffice调用web api的一个基础工具&#xff0c;可以方便开发者或者用户与业务系统结合使用web功能。 关于connector官方说明文档在这里&#xff1a;Automation API - ONLYOFFICE Api Documentation 注意&#xff1a;该功能针对开发者版、企业版&#xff0c;社区版常…

高考杂志社《高考》杂志社高考杂志社编辑部2024年第22期目录

高考论坛 高考内容改革背景下的高中数学教学策略探究 高琳琳; 3-5 新高考背景下高中数学教学中核心素养的培养路径 王芳芳; 6-8 教改研究 任务型教学在高中语文大单元教学中的应用 蔡莎; 9-11 大单元教学在高中思想政治教学中的应用探究 陈玲; 12-14 高中语文班…