C++ | 六、栈 Stack、队列 Queue

栈的基础知识

  • 栈(stack)是一种数据结构,在C++中属于STL(标准库)
  • 特点:先进后出
    • 栈和队列的对比
  • 栈的使用:
    • 一、引入头文件<stack>
    • 二、创建栈变量(类似容器、集合的创建方式),如stack<int> my_stack;
  • stack基础功能:
    • stack.empty(),判断是否为空栈,是则返回true,否则false
    • stack.push(value),压栈,向栈中添加元素
    • stack.pop(),弹栈,从栈中移除元素(只能去栈顶元素)
    • stack.top(),获取栈顶元素,但不会删除它
    • stack.size(),获取栈的长度
    • 无走访功能,也不提供迭代器(iterator,迭代器内容见上一篇文章)
    • 栈是以底层容器完成其所有的功能,对外提供统一的接口,其底层容器是可插拔的(也就是说可以使用不同的底层容器来实现栈的功能,如vector、list、deque等)
      • 因此,栈不被归类为一种容器,而被归类为一种容器适配器(container adapter)
      • 栈的内部结构

队列的基础知识

  • 队列(queue)是一种数据结构,在C++中属于STL(标准库)
  • 特点:先进先出
    • 栈和队列的对比
  • 队列的使用:
    • 一、引入头文件<queue>
    • 二、创建队列变量(类似容器、集合的创建方式),如queue<int> my_queue;
  • queue基础功能:
    • my_queue.empty(),判断是否为空队列,是则返回true,否则false
    • my_queue.push(value),向队列末尾添加元素
    • my_queue.pop(),从队列中移除元素(只能移除队列首元素)
    • my_queue.front(),获取队列首元素,但不会删除它
    • my_queue.size(),获取队列的长度
    • 无走访功能,也不提供迭代器(iterator,迭代器内容见上一篇文章)
    • 队列是以底层容器完成其所有的功能,对外提供统一的接口,其底层容器是可插拔的(也就是说可以使用不同的底层容器来实现队列的功能,如vector、list、deque等)
      • 因此,队列不被归类为一种容器,而被归类为一种容器适配器(container adapter)
      • 栈的内部结构

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

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

相关文章

GNSS模块引领共享出行新纪元:创新微公司的技术创新之路

共享出行服务正在成为城市交通中不可或缺的一环&#xff0c;而全球导航卫星系统&#xff08;GNSS&#xff09;模块的应用为这一领域注入了新的活力。创新微公司通过其先进的GNSS技术&#xff0c;为共享出行服务提供了更智能、高效的解决方案。本文将探讨创新微公司的GNSS模块在…

java(渣哇)------输入与输出语句(详解) (๑•̌.•๑)

目录 一.java的输出语句&#xff1a; System.out.println() -----输出并换行 System.out.print() -----输出但不换行 System.out.printf() -----类似C语言的printf()输出语句,按格式进行输出 二.java的输入语句&#xff1a; 2.1-----Scanner的基础用法&#xff1a; 2.2…

bash 5.2中文修订4

Compound Commands 复合命令 复合命令是 shell 编程语言的结构。每个构造都以保留字或控制运算符开始&#xff0c;并以相应的保留字或运算符终止。与复合命令关联的任何重定向&#xff08;请参阅 Redirections &#xff09;都适用于该复合命令中的所有命令&#xff0c;除非显式…

AI-数学-高中-8-函数奇偶性

原作者视频&#xff1a;函数】6函数奇偶性&#xff08;易-中档&#xff09;_哔哩哔哩_bilibili 示例&#xff1a; 已知奇偶性求解析式&#xff1a; 奇偶、单调函数综合示例&#xff1a;

Redis的五种数据类型(string、hash 、list、set、zset)

Redis 提供了丰富的数据类型&#xff0c;常见的有五种&#xff1a;String&#xff08;字符串&#xff09;&#xff0c;Hash&#xff08;哈希&#xff09;&#xff0c;List&#xff08;列表&#xff09;&#xff0c;Set&#xff08;集合&#xff09;、Zset&#xff08;有序集合&…

云手机与实体手机的对比

在数字化时代&#xff0c;云手机作为一种虚拟手机在云端服务器上运行&#xff0c;与传统的实体手机相比存在诸多差异。让我们深入探讨云手机与实体手机之间的区别&#xff0c;以便更好地了解它们的特点和优势。 外观上的差异 实体手机具有实际的外观和重量&#xff0c;占据一定…

从0开始python算法工程师(一):安装conda

1.为什么要安装conda 主要是为了在命令行使用conda命令管理虚拟环境。 2.两种conda Windows用户&#xff0c;一般建议初学者都安装anaconda&#xff08;省事&#xff09;&#xff1b;Windows用户&#xff0c;熟练的安装者则安装miniconda&#xff08;省存储空间&#xff09;…

影响可变利差有几个因素,Anzo Capital先说两个

了解利差的变化规律&#xff0c;盈利赚钱还不是轻轻松松的事情&#xff0c;但Anzo Capital想问各位投资者&#xff0c;你们知道影响可变利差的价值有几个因素吗&#xff1f;今天就先抛砖引玉&#xff0c;先说两个影响可变利差的因素。 首先就是交易工具的流动性——商品快速买…

Java玩转《啊哈算法》排序之桶排序

过去心不可得&#xff0c;现在心不可得&#xff0c;未来心不可得 目录在这里 楔子代码地址桶排序代码核心部分优缺点 完整代码演示 升级版核心代码完整代码演示 楔子 大家好&#xff01;本人最近看了下《啊哈算法》&#xff0c;写的确实不错&#xff0c;生动形象又有趣&#x…

ssh登录失败:connection closed by foreign host

问题1&#xff1a; ssh登录不上&#xff0c;连接上就断掉 inetd.conf显示2277已打开&#xff0c;ip也没有冲突。 但是这两个文件是空的(size 0k)&#xff1a; dropbear_dss_host_key dropbear_rsa_host_key 把/etc/dropbear里面的东西删掉,重新生成秘钥文件&#xff1a; …

如何有效的开展接口自动化测试,一篇足矣

一、简介 接口自动化测试是指使用自动化测试工具和脚本对软件系统中的接口进行测试的过程。其目的是在软件开发过程中&#xff0c;通过对接口的自动化测试来提高测试效率和测试质量&#xff0c;减少人工测试的工作量和测试成本&#xff0c;并且能够快速发现和修复接口错误&…

ChatGPT与生成式AI在教育领域的应用前景光明,但也伴随着挑战

随着ChatGPT和其他生成式AI技术&#xff0c;如GPT-3.5、GPT-4的出现&#xff0c;我们正见证教育领域一场前所未有的变革浪潮。这些技术不仅推动了教育方式的进步&#xff0c;也为学习者带来了全新的机遇和挑战。 NO.1 教育变革的新浪潮 生成式AI技术&#xff0c;特别是ChatGPT…