【C++】STL详解(四)---Stack和Queue

article/2025/8/6 1:18:30

文章目录

  • Stack
    • 定义方式
    • 使用方式
  • Queue
    • 定义方式
    • 使用方式

在这里插入图片描述

Stack

Stack是一种容器,是基本的数据结构之一,特点是先进后出。
在这里插入图片描述

定义方式

方式一:普通定义方式

stack<int> st1;

方式二:

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

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

使用方式

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

成员函数功能
empty判断栈是否为空
size获取栈有效元素个数
top获取栈顶元素
push元素入栈
pop元素出栈
swap交换两个栈的数据
stack<int, vector<int>> st;st.push(1);st.push(2);st.push(3);st.push(4);cout << st.size() << endl; //4while (!st.empty()){cout << st.top() << " ";st.pop();}cout << endl; //4 3 2 1return 0;

Queue

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

定义方式

queue的定义方式
方式一: 使用默认的适配器定义队列。
queue<int> q1;
方式二: 使用特定的适配器定义队列。
queue<int, vector<int>> q2;
queue<int, list<int>> q3;

使用方式

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

http://www.hkcw.cn/article/QQmBNNYofd.shtml

相关文章

换宽带ip地址会变吗?同一个宽带如何切换ip地址

在当今互联网时代&#xff0c;IP地址作为网络设备的"身份证"&#xff0c;其重要性不言而喻。许多用户在使用宽带时都会遇到这样的疑问&#xff1a;换宽带IP地址会变吗&#xff1f;同一个宽带如何切换IP地址&#xff1f;本文将深入探讨这一问题&#xff0c;帮助读者全…

WPF中一种使用Geometry图标的方法,用作制作图标按钮

1.去阿里巴巴矢量图标库或者哪里的图标库找到svg代码&#xff1a; 2.粘贴看一下&#xff1a; 3.摘取其中path属性&#xff0c;创建Geometry对象&#xff1a; 4.然后可以在按钮中使用&#xff1a; 感觉东西太多了&#xff0c;学不玩了

第二代IndoorLink头戴式无线讲解器,远距+动感,更好用了

在讲解器市场中&#xff0c;IndoorLink&#xff08;音德聆客&#xff09;头戴式无线讲解器一直具有鲜明的辨识度&#xff0c;张扬个性、动感自由的特点&#xff0c;受到很多用户欢迎。经过近一年的精细打磨后&#xff0c;IndoorLink头戴式迎来了全新升级。 日前&#xff0c;深…

PYTHON通过VOSK实现离线听写支持WINDOWSLinux_X86架构

在当今人工智能快速发展的时代&#xff0c;语音识别技术已经成为人机交互的重要方式之一。本文将介绍如何使用Python结合Vosk和PyAudio库实现一个离线语音识别系统&#xff0c;无需依赖网络连接即可完成语音转文字的功能。 技术栈概述 1. Vosk语音识别引擎 Vosk是一个开源的…

MyBatisPlus--快速入门

MyBatisPlus介绍 从名字中就可以感觉到MybatisPlus与MyBatis之间的渊源&#xff0c;而MyBatis是一个非常流行的持久层框架&#xff0c;主要来做数据库的增删改查&#xff0c;而MyBatisPlus这种命名方式让人不得不往MyBatis的升级版去联想&#xff0c;事实也确实如此&#xff0…

STL_stack和queue(deque priority_queue)

前言 本文主要介绍&#xff0c;本人的学习心得和知识汇总&#xff0c;本篇博文对于STL知识的讲解侧重于难点&#xff0c;不会每一个都细细讲解。本文主要对适配器设计模式展开讲解&#xff0c;对反向迭代器和优先级队列重点讲解。STL对栈和队列的设计不同于之前c语言设计的栈和…

从印巴空战看数据制胜密码:元数据如何赋能数字战场

2025年5月的印巴空战震惊世界&#xff1a;巴基斯坦以6:0的压倒性战绩击落印度“阵风”等战机&#xff0c;这场胜利的背后不仅是武器代差&#xff0c;更是“数据链体系”的降维打击。中巴联合研发的Link-17数据链以1毫秒延迟和动态跳频抗干扰技术&#xff0c;将预警机、战机、导…

【开源工具】音频格式转换大师:基于PyQt5与FFmpeg的高效格式转换工具开发全解析

&#x1f3a7; 【开源工具】音频格式转换大师&#xff1a;基于PyQt5与FFmpeg的高效格式转换工具开发全解析 &#x1f308; 个人主页&#xff1a;创客白泽 - CSDN博客 &#x1f525; 系列专栏&#xff1a;&#x1f40d;《Python开源项目实战》 &#x1f4a1; 热爱不止于代码&…

【Linux】环境变量完全解析

9.环境变量 文章目录 9.环境变量一、命令行参数二、获取环境变量程序中获取环境变量1. 使用命令行参数2. 使用系统调用函数getenv("字符串");3. 使用系统提供的全局变量environ 命令行中查询环境变量 三、常见环境变量1. HOME2. OLDPWD3. PATH4. SHELL 四、环境变量与…

大数据时代的利剑:Bright Data网页抓取与自动化工具共建高效数据采集新生态

目录 一、为何要选用Bright Data网页自动化抓取——帮助我们高效高质解决以下问题&#xff01; 二、Bright Data网页抓取工具 - 网页爬虫工具实测 2.1 首先注册用户 2.2 首先点击 Proxies & Scraping &#xff0c;再点击浏览器API的开始使用 2.3 填写通道名称&#xff…

【iptables防火墙】-- URL过滤 (Hexstring、IP、DoT和DoH)

在路由器中使用iptables工具对URL地址进行过滤涉及到如下几个方面&#xff0c;hexstring、ip、DoT和DoH。 以过滤www.baidu.com为例 1、DNS阻断 m string --hex-string是iptables中一个以​十六进制格式​定义要匹配的二进制特征并且支持混合明文和二进制数据的模块。由于DN…

Agent + MCP工具实现数据库查询

目录 1. RAG 2. Function Calling(函数调用) 3. MCP(模型上下文协议) 4. 案例实践 &#xff08;DifyAgent MCP数据查询&#xff09; 5. 参考资料&#xff1a; 在大模型领域里&#xff0c;RAG和Function Calling是常见的概念&#xff0c;他们之间又是有区别的&#xff0c;R…

【瑶池数据库训练营及解决方案本周精选(探索PolarDB,参与RDS迁移、连接训练营)】

一、训练营 数据库迁移训练营 自建数据库运维难&#xff1f;本次训练营教您迁移至云数据库 RDS&#xff0c;高可用架构跨区容灾&#xff0c;降本增效&#xff01;模拟教程 实战演练&#xff0c;零基础也能上手。 &#xff08;一&#xff09;开营时间 2025年4月8日-6月2日16…

005学生心理咨询评估系统技术解析:搭建科学心理评估平台

学生心理咨询评估系统技术解析&#xff1a;搭建科学心理评估平台 在心理健康教育日益受重视的当下&#xff0c;学生心理咨询评估系统成为了解学生心理状态的重要工具。该系统涵盖试卷管理、试题管理等核心模块&#xff0c;面向管理员和用户两类角色&#xff0c;通过前台展示与…

为什么企业需要应用程序可观测性

当今数字经济的持续需求迫使企业不仅要确保其应用程序功能正常&#xff0c;还必须提供高可用性、无缝扩展性和最佳性能。无论是每秒处理数百万关键交易的复杂的金融平台&#xff0c;还是服务全球多元化客户群的电商网站&#xff0c;现代企业应用程序早已突破传统简单架构&#…

Open3D 最小二乘法拟合曲线——线性回归实现

目录 1. 前言 2. 线性回归法 2.1 模型假设 2.2 定义误差函数 2.3 求偏导并解方程 2.4 案例演示 2.4.1 使用 python 实现 2.4.2 使用库函数实现(更推荐) 1. 前言 最小二乘法拟合曲线与拟合直线的核心原理完全相同,都是基于最小化误差平方和的思想,使得所有数据点到…

JavaWeb开发基础Servlet生命周期与工作原理

Servlet生命周期 Servlet的生命周期由Servlet容器(如Tomcat、Jetty等)管理&#xff0c;主要包括以下5个阶段&#xff1a; 加载Servlet类 创建Servlet实例 调用init方法 调用service方法 调用destroy方法 加载(Loading)&#xff1a; 当Servlet容器启动或第一次接收到对某个…

Electron-vite【实战】MD 编辑器 -- 系统菜单(含菜单封装,新建文件,打开文件,打开文件夹,保存文件,退出系统)

最终效果 整体架构 src/main/index.ts import { createMenu } from ./menu在 const mainWindow 后 // 加载菜单createMenu(mainWindow)src/main/menu.ts import { BrowserWindow, Menu, MenuItem, MenuItemConstructorOptions, dialog, shell } from electron import fs from…

天气预报中的AI:更准确的预测如何实现

如今的天气预报早已不是简单的看云识天气&#xff0c;而是变成了一场数据与算法的科技博弈。当你在手机App上查看未来两小时的降雨概率时&#xff0c;背后可能是AI模型分析了全球数万颗气象卫星的数据&#xff1b;当你收到台风路径预警短信时&#xff0c;或许是AI提前五天就锁定…

虚拟化数据恢复—XenServer虚拟机虚拟磁盘文件丢失的数据恢复案例

虚拟化环境&#xff1a; 某品牌720服务器中有一组通过型号为H710P的RAID卡4块STAT硬盘组建的RAID10&#xff0c;上层部署Xen Server服务器虚拟化平台。虚拟机安装的Windows Server系统&#xff0c;运行Web服务器。有系统盘 数据盘两个虚拟机磁盘。 虚拟化故障&#xff1a; 机…