当前位置: 首页 > news >正文

232.用栈实现队列

原题链接:232.用栈实现队列

思路
主要是要注意栈和队列的数据结构的区别,一个是后进先出, 一个是先进先出
如果要用栈模拟队列的先进先出,那就得使用另一个辅助空间来存储栈的栈顶元素,然后把栈最底部的元素弹出,再将存储栈里面的元素重新倒回原本的栈中

全代码:


class MyQueue {
public:MyQueue() {}void push(int x) {// 将元素 x 推到队列的末尾stacka.push(x);}int pop() {//从队列的开头移除并返回元素if (stacka.empty()){return NULL;}while (!stacka.empty()){stackb.push(stacka.top());stacka.pop();}int a = stackb.top();stackb.pop();while (!stackb.empty()){stacka.push(stackb.top());stackb.pop();}return a;}int peek() {//返回列表开头的元素if(stacka.empty()){return NULL;}while(!stacka.empty()){//把栈A的元素都压入栈B中进行存储stackb.push(stacka.top());stacka.pop();}int a = stackb.top();while (!stackb.empty()){//把栈b的元素都压回栈A中stacka.push(stackb.top());stackb.pop();}return a;}bool empty() {//判断队列是否为空,返回true,否则返回falseif (stacka.empty()){return true;}else{return false;}}
private:stack<int> stacka;stack<int> stackb;
};

相关文章:

232.用栈实现队列

原题链接&#xff1a;232.用栈实现队列 思路 主要是要注意栈和队列的数据结构的区别&#xff0c;一个是后进先出&#xff0c; 一个是先进先出 如果要用栈模拟队列的先进先出&#xff0c;那就得使用另一个辅助空间来存储栈的栈顶元素&#xff0c;然后把栈最底部的元素弹出&…...

C51--项目--感应开关盖垃圾桶

1、项目概述 功能描述&#xff1a; 检测靠近时&#xff0c;垃圾桶自动开盖并伴随滴一声&#xff0c;2s后关盖。 发生震动时&#xff0c;垃圾桶自动开盖并伴随滴一声&#xff0c;2s后关盖。 按下按键时&#xff0c;垃圾桶自动开盖并伴随滴一声&#xff0c;2s后关盖。 硬件说明…...

基于单片机设计的太阳能跟踪器

一、前言 随着对可再生能源的需求不断增长&#xff0c;太阳能作为一种清洁、可持续的能源形式&#xff0c;受到越来越多的关注和应用。太阳能光板通常固定在一个固定的角度上&#xff0c;这限制了它们对太阳光的接收效率。为了充分利用太阳能资源&#xff0c;提高太阳能光板的…...

【踩坑及思考】浏览器存储 cookie 最大值超过 4kb,或 http 头 cookie 超过限制值

背景 本地生产环境&#xff1a;超过最大值 cookie token 不存储&#xff1b;客户生产环境&#xff1a;打开系统空白&#xff0c;且控制台报 http 400 错误&#xff1b; 出现了两种现象 现象一&#xff1a;浏览器对大于 4kb 的 cookie 值不存储 导致用户名密码登录&#xff…...

竞赛选题 深度学习实现行人重识别 - python opencv yolo Reid

文章目录 0 前言1 课题背景2 效果展示3 行人检测4 行人重识别5 其他工具6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; **基于深度学习的行人重识别算法研究与实现 ** 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c…...

SpringCloud Gateway实现请求解密和响应加密

文章目录 前言正文一、项目简介二、核心代码2.1 自定义过滤器2.2 网关配置2.3 自定义配置类2.4 加密组件接口2.5 加密组件实现&#xff0c;AES算法2.6 启动类&#xff0c;校验支持的算法配置 三、请求报文示例四、测试结果4.1 网关项目启动时4.2 发生请求时 前言 本文环境使用比…...

IDEA创建Springboot多模块项目

一、创建父模块 File --> New --> Project &#xff0c;选择 “ Spring Initalizr ” &#xff0c;点击 Next Next Next --> Finish 二、创建子模块 右键根目录&#xff0c;New --> Module 选择 “ Spring Initializr ”&#xff0c;点击Next 此处注意T…...

React:JSX语法入门

JSX语法入门及代码 JSX是一种JavaScript的语法扩展&#xff0c;用于在React中描述用户界面的结构。它允许开发者使用类似HTML的语法来创建React元素&#xff0c;使得代码更具可读性和可维护性。JSX将HTML标签和JavaScript代码结合在一起&#xff0c;可以在其中使用JavaScript表…...

AI大模型架构师专家,你会问什么来测试我的水平,如何解答上述问题,学习路径是什么

0. 沈剑老师的大模型产品应用经验&#xff1a; 提示词三步骤&#xff1a; 假如我是xxx专家&#xff0c;你会问什么来测试我的水平&#xff1b;假如你是xxx专家&#xff0c;你会如何解答上述问题&#xff1b;假如你是xxx专家&#xff0c;上述问题的学习路径是什么&#xff1b;…...

Dev-C调试的基本方法2-1

在Dev-C中调试程序&#xff0c;首先需要在程序中设置断点&#xff0c;之后以调试的方式运行程序。 1 设置断点 当以调试的方式运行程序时&#xff0c;程序会在断点处停下来。点击要设置断点代码行号左侧部分&#xff0c;此时会有如图1所示的红点和绿色对勾&#xff0c;表示断…...

Linux 调试 (objdump/strace/strings)

目录 1. Linux 调试 (objdump/strace/strings)1.1. 查看系统 glibc 版本号1.2. 查看 so/bin 中的依赖1.3. 调试 bin 报错原因1.4. 查看 so/bin 中字符串 1. Linux 调试 (objdump/strace/strings) 1.1. 查看系统 glibc 版本号 1. 第一种 # ldd --version ldd (Ubuntu GLIBC 2.…...

CAS 单点登录详解

什么是CAS&#xff1f; - 简要介绍CAS&#xff08;Central Authentication Service&#xff09;的概念和作用。 - 强调CAS的主要目标是提供单点登录和单点登出功能。 CAS的工作原理 - 深入探讨CAS的工作原理&#xff0c;包括认证、票据、验证等核心概念。 - 详细解释CAS服务器和…...

tbh常用的绘图快捷键

1、Altb -> 笔刷 2、Alt/ -> 画笔 3、按住Shift 绘出的线条是直线 4、按住shiftalt 绘出来的线条是水平线或垂直线 5、alte ->橡皮擦 6、alts ->选择工具 7、altq -> 轮廓编辑器 以下操作都是在选中轮廓编辑器下操作的&#xff1a; 按住alt…...

Android-Framework 清除应用用户数据,不清除权限

一、环境 高通865 Android 10 二、具体详情 现象&#xff1a;默认赋予第三方应用的权限&#xff0c;在应用信息中清理用户数据的时候&#xff0c;权限也会被清理掉; 希望&#xff1a;只清理数据&#xff0c;保留权限 相关源码修改如下&#xff1a; frameworks/base/servi…...

CS认证办理流程,CS认证好处

CS资质全名叫“信息系统建设和服务能力评估体系” 所谓的CS认证&#xff0c;是指信息系统建设和服务能力评级。认证一共划分为五个等级&#xff0c;等级从低到高分别用CS1级&#xff08;初始级&#xff09;、CS2级&#xff08;基本级&#xff09;、CS3级&#xff08;良好级&…...

macOS 安装brew

参考链接&#xff1a; https://mirrors4.tuna.tsinghua.edu.cn/help/homebrew/ https://www.yii666.com/blog/429332.html 安装中科大源的&#xff1a; https://zhuanlan.zhihu.com/p/470873649...

H5: 使用Web Audio API播放音乐

简介 记录关于自己使用 Web Audio API 的 AudioContext 播放音乐的知识点。 需求分析 1.列表展示音乐&#xff1b; 2.上/下一首、播放/暂停/续播&#xff1b; 3.播放模式切换&#xff1a;循环播放、单曲循环、随机播放&#xff1b; 4.播放状态显示&#xff1a;当前播放的音乐…...

Parasoft C/C++test:汽车网络安全ISO 21434最佳实践

为什么汽车网络安全很重要Why Automotive Cybersecurity Is Important 许多汽车公司向电子道路车辆的转变从根本上改变了整个行业&#xff0c;提高了汽车的互联性和智能性。随着电子汽车变得更加互联和智能&#xff0c;它们也越来越依赖软件来实现车辆操作&#xff0c;驱动更多…...

如何卸载干净 IDEA(图文讲解)windows和Mac教程

大家好&#xff0c;我是sun~ 很多小伙伴会问 Windows / Mac 系统上要怎么彻底卸载 IDEA 呢&#xff1f; 本文通过图片文字&#xff0c;详细讲解具体步骤&#xff1a; 如何卸载干净 IDEA&#xff08;图文讲解&#xff09; Windows1、卸载 IDEA 程序2、注册表清理3、残留清理 M…...

Docker搭建Gitlab

拉取镜像&#xff1a;docker pull gitlab/gitlab-ce创建映射目录&#xff1a; mkdir -p /usr/local/gitlab/config mkdir -p /usr/local/gitlab/data mkdir -p /usr/local/gitlab/logs运行容器&#xff1a; docker run -d -p 443:443 -p 8000:8000 -p 222:22 --name gitlab …...

YOLOv13开箱即用镜像体验:简单几步,完成你的第一个AI检测项目

YOLOv13开箱即用镜像体验&#xff1a;简单几步&#xff0c;完成你的第一个AI检测项目 1. 为什么选择YOLOv13官版镜像&#xff1f; 1.1 传统部署的痛点 在目标检测领域&#xff0c;YOLO系列一直是开发者的首选。但传统部署方式往往让人望而却步&#xff1a; 环境配置复杂&am…...

技术判断力之AI三问

回答老板关于是否投资AI创新项目的三个问题当下AI热度居高不下&#xff0c;企业该如何抉择&#xff1f;是大举投入布局&#xff0c;还是保持观望&#xff1f;我们借以下三个问题来展开思考。一、AI当下处在什么阶段&#xff1f;属于谁的机会&#xff1f;AI技术扩散曲线&#xf…...

新手避坑指南:雯雯的后宫-造相Z-Image-瑜伽女孩镜像部署全流程解析

新手避坑指南&#xff1a;雯雯的后宫-造相Z-Image-瑜伽女孩镜像部署全流程解析 1. 镜像概述与核心价值 雯雯的后宫-造相Z-Image-瑜伽女孩是一个专注于生成高质量瑜伽主题图像的文生图模型服务。基于Z-Image-Turbo底座并结合特定LoRA微调技术&#xff0c;该镜像能够生成风格统…...

模型调参实战指南:Temperature、Top-k与Top-p的黄金组合法则

1. 理解三大核心参数&#xff1a;从理论到实践 第一次接触大模型调参时&#xff0c;我被Temperature、Top-k和Top-p这三个参数搞得晕头转向。直到在真实项目中踩过几次坑后才明白&#xff0c;它们就像烹饪中的"盐、糖、醋"——看似简单&#xff0c;但配比不同就能产生…...

泰勒级数实战:如何快速估算任意数的平方根(附Python代码)

泰勒级数实战&#xff1a;如何快速估算任意数的平方根&#xff08;附Python代码&#xff09; 在工程计算和科学实验中&#xff0c;快速估算平方根是一项常见需求。传统查表法精度有限&#xff0c;而现代计算器又过度依赖硬件。泰勒级数展开提供了一种优雅的数学解决方案——通过…...

Altium Designer电源层不够用?试试用Split Planes功能把3.3V和5V塞进同一层

Altium Designer电源层不够用&#xff1f;试试用Split Planes功能把3.3V和5V塞进同一层 在四层板设计中&#xff0c;硬件工程师常常面临一个棘手问题&#xff1a;有限的层数如何容纳多种电源和地网络&#xff1f;当3.3V、5V、1.8V以及AGND、DGND都需要专属平面时&#xff0c;传…...

企业内部AI定制哪家强?

企业内部AI定制&#xff0c;难道不是数谷智能科技的核心专长吗&#xff1f;在2026年的大湾区商业版图中&#xff0c;“数字化”早已不再是选择题&#xff0c;而是关乎生存的底座。从深圳龙岗的跨境电商写字楼&#xff0c;到东莞松山湖的精密智造车间&#xff0c;管理者们正面临…...

RecyclerView 动态布局实战:ItemView 高宽自适应与多列切换

1. RecyclerView动态布局的核心挑战 在Android开发中&#xff0c;RecyclerView是最常用的列表控件之一。但很多开发者都会遇到这样的问题&#xff1a;如何让ItemView根据数据量动态调整高度和宽度&#xff1f;特别是在需要实现单列和多列布局自动切换的场景下&#xff0c;这个问…...

QUARTUS 2 基本操作使用(quartus13.0)

本文从建立完工程开始&#xff0c;到下载结束 编写设计文件 点击Files&#xff0c;可以添加设计文件 设置工程顶层 ​编辑 再此介绍下工具栏&#xff0c;只介绍用的多的 绑定引脚&#xff1a;fpga大部分引脚都是GPIO&#xff0c;因此给他编辑代码后&#xff08;赋予他功能&am…...

Linux下adb调试小米手机报错Exception的5种解决方法(附详细排查步骤)

Linux下adb调试小米手机报错Exception的5种深度解决方案 最近在Linux环境下用adb调试小米手机时&#xff0c;不少开发者遇到了Exception occurred while executing put这个让人头疼的错误。作为一名常年与adb打交道的开发者&#xff0c;我深知这种问题一旦出现&#xff0c;轻则…...