DAY10栈与队列:232 用栈实现队列

2023-11-06

一、232 用栈实现队列

class MyQueue {
public:
    stack<int> stackIn;
    stack<int> stackOut;
    MyQueue() {

    }
    
    void push(int x) {
        stackIn.push(x);
    }
    
    int pop() {
        if(stackOut.empty()){//在出栈为空的时候进行
            while(!stackIn.empty()){//不为空的时候一直操作入 stackOut
                stackOut.push(stackIn.top());//一个个移入top元素
                stackIn.pop();//控制循环结束直到empty
            }
        }
        int result=stackOut.top();//取出第一个数
        stackOut.pop();//移除
        return result;
    }
    
    int peek() {
        int result1=this->pop();//在类内复用函数
        stackOut.push(result1);//把弹出的元素再加回去
        return result1;
    }
    
    bool empty() {
        return stackIn.empty()&&stackOut.empty();
    }
};

/**
 * Your MyQueue object will be instantiated and called as such:
 * MyQueue* obj = new MyQueue();
 * obj->push(x);
 * int param_2 = obj->pop();
 * int param_3 = obj->peek();
 * bool param_4 = obj->empty();
 */

二、225用队列实现栈

class MyStack {
public:
    queue<int> que;
    MyStack() {

    }
    
    void push(int x) {
        que.push(x);

    }
    
    int pop() {
        int size=que.size();
        size-=1;//改变前size-1个元素的顺序
        while(size--){
            que.push(que.front());//一个接一个取出top并加入队尾
            que.pop();//弹出size-1个元素
        }
        int result=que.front();//取出最前的一个数
        que.pop();//弹出最前的一个数
        return result;
    }
    
    int top() {
        return que.back();//返回队列的最后一个元素  队列和栈出入次序正好相反

    }
    
    bool empty() {
        return que.empty();
    }
};

/**
 * Your MyStack object will be instantiated and called as such:
 * MyStack* obj = new MyStack();
 * obj->push(x);
 * int param_2 = obj->pop();
 * int param_3 = obj->top();
 * bool param_4 = obj->empty();
 */

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DAY10栈与队列:232 用栈实现队列 的相关文章

  • fork 和 exec 之间的区别

    两者有什么区别fork and exec 指某东西的用途fork and exec它体现了 UNIX 的精神 它提供了一种非常简单的方法来启动新进程 The fork调用基本上复制了当前进程 在almost任何方式 并非所有内容都会被复制
  • stl 集的 C# 等效项是什么?

    我想使用 C 将一些值存储在平衡二叉搜索树中 我查看了泛型命名空间中的集合 但没有找到与 stl 集合等效的集合 我可以使用什么通用集合 我不想存储键 值对 只是值 你可以使用HashSet http msdn microsoft com
  • 子进程中的变量修改

    我正在研究科比和奥哈拉伦的作品Computer Systems A Programmer s Perspective 练习 8 16 要求程序的输出如下 我更改了它 因为他们使用了一个你可以在他们的网站上下载的头文件 include
  • 如何获取 C# PriorityQueue 元素的优先级

    我正在初始化一个存储 XY 坐标的优先级队列 根据距原点的欧几里得距离确定优先级 我创建了一个自定义Comparer这使得它作为最大堆运行 PriorityQueue
  • 公共领域有哪些替代方案?

    我正在用 java 编写一个游戏 正如问题标题建议的那样 我在类中使用公共字段 暂且 据我所知 公共领域很糟糕 我有一些理解其中的原因 但如果有人能澄清为什么你不应该使用它们 那将不胜感激 问题是 从我所看到的来看 这似乎是合乎逻辑的 是使
  • 析构函数、dispose 和 Finalize 方法之间的区别

    我正在研究垃圾收集器在 C 中的工作原理 我对使用感到困惑Destructor Dispose and Finalize方法 根据我的研究和理解 在我的类中拥有析构函数方法将告诉垃圾收集器以析构函数方法中提到的方式执行垃圾收集 该方法不能在
  • 有没有办法关闭 Hangfire 使用 Serilog 进行的日志记录?

    有没有办法关闭 Hangfire 使用 Serilog 进行的日志记录 我们正在使用我们自己的抽象 我不希望在使用 Serilog 时来自 Hangfire 记录器的所有额外噪音 INIT call under web project na
  • WCF 客户端返回空数组 - XML 响应似乎正常

    我正在尝试为我们的 Intranet 上托管的 Web 服务创建一个简单的 WCF 客户端 C 使用 Fiddler 和 SoapUI 我可以看到请求和响应似乎正常 但是当我运行代码时返回一个空数组 我会尝试只粘贴相关的行 但会是很多东西
  • 使用 INF 文件 C++ 以编程方式安装驱动程序

    这里有人可以告诉我如何安装第 3 方设备驱动程序吗 如果提供了所有必需的文件 即 inf 文件 sys 等 则以编程方式进行 这 该解决方案应运行的最低操作系统是Windows2000 我尝试复制 inf文件放入Win文件夹 INF文件夹和
  • 加载配置文件时发生错误:访问路径 c:\Program Files (x86)\... 被拒绝

    我有一个在 Windows 7 上使用 Visual Studio 2010 中的安装程序部署的应用程序 该程序在 Windows 7 和 XP 上部署并运行良好 但当我在 Windows 8 系统上部署它时 出现有关访问配置文件的错误 该
  • Bool类型返回规则

    我使用 dapper ORM 所以我使用两个规则Query
  • 通过 MVC 将数据写入数据库的最佳方法是什么?

    我正在使用 MVC 和 EF Core 开发一个家庭作业项目 我正在寻找将数据写入数据库的最佳方法 我是初学者 有两张桌子 Predbilje ba 报名 和Seminari 研讨会 public class Predbilje ba Ke
  • 如何在 C# 中停止程序进一步执行

    string FirstName Console ReadLine if FirstName Length gt 12 Console WriteLine if FirstName Length lt 3 Console WriteLine
  • 为什么 C++ 元组如此奇怪?

    我通常创建自定义structs将不同类型的值分组在一起时 这通常很好 而且我个人发现命名成员访问更容易阅读 但我想创建一个更通用的 API 在其他语言中广泛使用元组后 我想返回类型的值std tuple但发现它们在 C 中使用比在其他语言中
  • 将纬度/经度转换为 X/Y,以便在美国地图图像上进行阿尔伯斯投影

    我正在尝试使用 C 或 Javascript 将纬度 经度转换为 X Y 坐标 以将带有 CSS 的 div 左 上 定位到美国地图的背景图像上 美国的标准地图投影是阿尔伯斯投影 如下所示 但 StackOverflow 仅提供参考基本墨卡
  • 如何将此 Boost ASIO 示例应用到我的应用程序中

    我已经阅读了很多 ASIO 示例 但我仍然对如何在我的应用程序中使用它们感到困惑 基本上 我的服务器端需要接受超过100个连接 客户端 这部分是通过使用线程池 通常每个CPU核心2 4个线程 来完成的 为简单起见 我们假设只有一个连接 为了
  • 将 .NET 类库(主要定义 CRUD 操作)公开为服务

    公开现有内容的最佳 有效和最快的方法是什么 类 图书馆 主要定义 CRUD 操作 作为service 周转基金服务 or WCF数据服务 以便它可以与银光 or Ajax 在那儿tools 代码生成器 RAD 工具 哪些可以支持这个 预先感
  • 使用 System.Json 迭代 JSON

    我正在探索 NET 4 5 的功能System Json库 但没有太多文档 而且由于流行的 JSON NET 库 搜索起来相当棘手 我基本上想知道 我如何循环一些 JSON 例如 People Simon Age 25 Steve Age
  • Lambda 按值捕获和“mutable”关键字

    关键词的必要性mutable在 lambda 中 是造成极大混乱的根源 考虑代码 int x 10 function
  • 如何使用 __m128i 执行元素左移?

    我发现 SSE 移位指令只能在所有元素上移位相同的量 mm sll epi32 mm slli epi32 这些会移动所有元素 但移动量相同 http software intel com sites products documentat

随机推荐

  • HLSL Introduction

    By Chang Li High Level Shading Language HLSL a programming language for Graphic Processing Unit GPU in DirectX 9 10 11 s
  • VMware安装Linux后自动获取IP地址

    1 VMware网络连接设置为桥接模式 2 进入Linux系统 ifconfig查看IP地址信息 3 cd etc sysconfig network scripts 4 vim ifcfg eth0 5 ONBOOT yes 6 serv
  • smali文件对比java文件

    smali文件对比java文件 class 类名 super 父类 source 源文件名 implements 继承的接口 field 类成员变量 method 类方法 parameter 函数参数 p1 p2 locals x 局部变量
  • 活动目录服务详细操作

    作者 小刘在C站 个人主页 小刘主页 每天分享云计算网络运维课堂笔记 努力不一定有收获 但一定会有收获加油 一起努力 共赴美好人生 夕阳下 是最美的绽放 树高千尺 落叶归根人生不易 人间真情 目录 第一章 Active Directory与
  • 技术赋能水务数字化转型,上海市水旱灾害防御技术中心领导一行调研上海控安

    NEWS 3月1日下午 上海市水旱灾害防御技术中心主任张鹏一行莅临上海控安 对双方联合实验室建设及公司智慧水务板块业务进行调研指导 并就助力上海城市水务高质量发展及数字化转型相关工作展开交流讨论 上海控安总经理蒲戈光 首席信息官杨昆等平台公
  • 【旅行商问题】蚁群算法解决旅行商问题【Matlab】

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 一 旅行商问题 1 问题描述 2 数学模型 二 蚁群算法 1 引言 2 蚁群算法求解TSP原理 三 源代码 四 结果展示 五 备注 一 旅行商问题 1 问题描述 旅
  • 彻底卸载VMware虚拟机

    开始 gt 运行 gt regedit gt 找到HKEY LOCAL MACHINE gt Software gt VMware inc 把这个整个删除 关闭注册表后 重新运行VMware的安装文件 问题即可解决
  • 前端基础面试题(js、vue、react)

    文章目录 vue2面试题 js面试题 react面试题 vue2面试题 vue的双向绑定原理 双向绑定的原理也叫响应式原理 Vue它是采用数据劫持结合发布者 订阅者模式的方式 通过Object defineProperty 属性的sette
  • 【Redis】Centos7 如何正确的手动安装Redis,简单式安装

    安装包 手动官网下载 redis 4 0 1 tar gz 演示redis的版本 使用wget下载 centos 自带了wget wget http download redis io releases redis 4 0 1 tar gz
  • Acwing-870. 约数个数

    N的任何一个约数都是d的形式 而且d每一项的指数都不同 所以N的约数与 1 k的取法是一致的 N的每一个约数都对应了 1 k的一种取法 不同的取法对应不同的约数 由算数基本定理 每一个数的因式分解是唯一的 只要因式分解不一样 那么这两个数就
  • MySQL内置函数ifnull()

    ifnull mysql的一个内置函数 用于处理空值 NULL 如果不为 NULL ifnull 函数会返回第一个参数 否则返回第二个参数 例子 select ifnull select salary from Employee order
  • H5页面唤起关注公众号页面

    一 H5页面唤起关注公众号页面 上面已经说明如何判断用户是否已经关注公众号 那如何唤起关注页面 也就是如何跳转到关注页面引导用户关注呢 主要分为以下几个步骤 1 登录微信公众平台 2 点击微信号头像右击查看源代码 3 找到源代码中以下代码
  • 二极管详解

    一 基本概念 二极管由管芯 管壳和两个电极构成 管芯就是一个PN结 在PN结的两端各引出一个引线 并用塑料 玻璃或金属材料作为封装外壳 就构成了晶体二极管 如下图所示 P区的引出电极称为正极或阳极 N区引出的电极称为负极或阴极 1 二极管的
  • 【LVGL 学习】加入内部字体

    使用到的软件 LvglFontTool exe 字符转换工具 链接 http www lfly xyz forum php mod viewthread tid 24 extra page 3D1 软件界面 按照软件界面配置 1 打开lvg
  • 【卷积神经网络】卷积层,池化层,全连接层

    转于 入门PyTorch 卷积层是卷积神经网络的核心 大多数计算都是在卷积层中进行的 1 卷积层 1 1 概述 首先介绍卷积神经网络的参数 这些参数是由一些可学习的滤波器集合构成的 每个滤波器在空间上 宽度和高度 都比较小 但是深度和输入数
  • Spring Boot + Vue 开发网易云,QQ音乐(附源码)!

    来源 segmentfault com a 1190000021376934 前言 虽然 B S 是目前开发的主流 但是 C S 仍然有很大的市场需求 受限于浏览器的沙盒限制 网页应用无法满足某些场景下的使用需求 而桌面应用可以读写本地文件
  • Markdown嵌入视频

    博客 安卓之家 微博 追风917 CSDN 蒋朋的家 简书 追风917 博客园 追风917 操作 今天看到别人github里可以看youtube视频 小白表示惊呆了有木有 于是乎 于是乎 查看了下人家的代码 表示不懂 然后搜索了下 瞬间正能
  • 职场篇—从网络安全行业人才需求讲个人规划

    如果你是一名正在找工作的网络安全方向大学生 或者是刚刚踏入网络安全领域的新手 这篇文章很适合你 如果你是一名老网安人 看看有哪些你中招了 当你打开BOSS直聘 拉钩等招聘类网站后 在首页的快速导航页面很难找到关于网络安全岗位招聘的引导信息
  • unity 监测UI EventTrigger事件

    如果想控制 只是监听点击一次 设置Image的 Raycast Target 的bool值 这样子就不用反复的注销 注册监听了 注销只在销毁的时候 EventTrigger的所有事件类型 PointerEnter 0 鼠标进入 Pointe
  • DAY10栈与队列:232 用栈实现队列

    一 232 用栈实现队列 class MyQueue public stack