当前位置: 首页 > 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;
};
http://www.lryc.cn/news/217000.html

相关文章:

  • C51--项目--感应开关盖垃圾桶
  • 基于单片机设计的太阳能跟踪器
  • 【踩坑及思考】浏览器存储 cookie 最大值超过 4kb,或 http 头 cookie 超过限制值
  • 竞赛选题 深度学习实现行人重识别 - python opencv yolo Reid
  • SpringCloud Gateway实现请求解密和响应加密
  • IDEA创建Springboot多模块项目
  • React:JSX语法入门
  • AI大模型架构师专家,你会问什么来测试我的水平,如何解答上述问题,学习路径是什么
  • Dev-C调试的基本方法2-1
  • Linux 调试 (objdump/strace/strings)
  • CAS 单点登录详解
  • tbh常用的绘图快捷键
  • Android-Framework 清除应用用户数据,不清除权限
  • CS认证办理流程,CS认证好处
  • macOS 安装brew
  • H5: 使用Web Audio API播放音乐
  • Parasoft C/C++test:汽车网络安全ISO 21434最佳实践
  • 如何卸载干净 IDEA(图文讲解)windows和Mac教程
  • Docker搭建Gitlab
  • STM32F4X SDIO(四) SDIO控制器
  • 【flink】Task 故障恢复详解以及各重启策略适用场景说明
  • 一个计算机高手的成长3
  • 2023应届生能力考试含解析(Java后端开发)——(1)
  • Ansible中的任务执行控制
  • 利用maven的dependency插件分析工程的依赖
  • 【广州华锐互动】VR野外求生技能学习,让你感受真实的冒险之旅!
  • k8s、调度约束
  • Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
  • 电子器件 MOS管的参数、选型与使用技巧
  • EtherCAT主站SOEM -- 2 -- SOEM之ethercatbase.h/c文件解析