php用两个栈来实现队列

一、总结

我主要的问题是不知道的是题目描述,题目和贵的代码之间的关系,以及返回值

思路:A栈做入队操作,B栈做出队操作,入队的时候元素直接入A,出队的时候判断B栈是否为空,如果不为空,直接pop,如果为空,将A栈中的元素pop出去,B栈push,直到A栈为空,然后再popB里面的元素出队

二、php用两个栈来实现队列

题目:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

给的代码:

<?phpfunction mypush($node)
{// write code here
}
function mypop()
{// write code here
}

代码一:

<?php$stack = [];
function mypush($node) //我也猜到这个$node应该是数组,不是数组,是push进来的值
{   global $stack;return $stack[]=$node;// write code here
}
function mypop(){  global $stack;if($stack){return array_shift($stack);
}return $stack;// write code here
}
添加笔记

java代码:

class Solution
{
public:void push(int node) {stack1.push(node);}int pop() {int a;if(stack2.empty()){while(!stack1.empty()){a=stack1.top();stack2.push(a);stack1.pop();}}a=stack2.top();stack2.pop();return a;}
private:stack<int> stack1;stack<int> stack2;
};

用两个栈实现一个队列的功能?要求给出算法和思路!

<分析>:

入队:将元素进栈A

出队:判断栈B是否为空,如果为空,则将栈A中所有元素pop,并push进栈B,栈B出栈;

如果不为空,栈B直接出栈。

用两个队列实现一个栈的功能?要求给出算法和思路!

<分析>:

入栈:将元素进队列A

出栈:判断队列A中元素的个数是否为1,如果等于1,则出队列,否则将队列A中的元素   以此出队列并放入队列B,直到队列A中的元素留下一个,然后队列A出队列,再把   队列B中的元素出队列以此放入队列A中。

转载于:https://www.cnblogs.com/Renyi-Fan/p/9047186.html

php用两个栈来实现队列相关推荐

  1. 多态指针访问虚函数不能被继承的类快速排序N皇后问题插入排序堆排序merge归并排序栈上生成对象两个栈实现一个队列...

    多态 /*1. 要想实现覆盖(重写)父类必须声明为virtual,子类可以不声明为virtual.-->FunB()2. 派生类重写基类的虚函数实现多态,要求函数名.参数列表.返回值完全相同.( ...

  2. 【剑指offer】用两个栈实现一个队列

    题目:两个栈实现一个队列. 栈的特点:先进后出,队列的特点是先进先出 思路:stack1放入数据:pop时,先判断stack2是否为空,如果不为空,直接pop,如果空,则push(stack1.pop ...

  3. 剑指offer五:两个栈实现一个队列

    题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. package com.jianzhioffer;import java.util.Stack;publ ...

  4. 两个栈实现一个队列,两个队列实现一个栈

    题目:用两个栈实现一个队列,用两个队列实现一个栈. 首先要了解栈和队列这两种数据结构各自的特点,栈是一种后入先出(Last In First Out,LIFO)的数据结构,队列是一种先进先出(Firs ...

  5. python 用两个栈实现一个队列

    | 两个栈实现队列 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能.(若队列中没有元素 ...

  6. java实现-两个栈实现一个队列和两个队列实现一个栈

    1.两个栈实现一个队列 思路:压入元素直接入stack1,删除元素先判断stack2中是否为空,如果不为空直接弹出:为空则将stack1中的元素取出压入 stack2中再弹出. 代码: import ...

  7. python ——两个队列实现一个栈两个栈实现一个队列

    1.两个队列实现一个栈 进栈:元素入队列A 出栈:判断如果队列A只有一个元素,则直接出队.否则,把队A中的元素出队并入队B,直到队A中只有一个元素,再直接出队.为了下一次继续操作,互换队A和队B. p ...

  8. 两个栈实现一个队列与两个队列实现一个栈

    http://blog.csdn.net/z84616995z/article/details/19204529 两个栈实现一个队列: 原理方法:用一个栈为主栈,一个栈为辅助栈存放临时元素. 入队:将 ...

  9. 【数据结构】(面试题)使用两个栈实现一个队列(详细介绍)

    http://blog.csdn.net/hanjing_1995/article/details/51539578 使用两个栈实现一个队列 思路一: 我们设定s1是入栈的,s2是出栈的. 入队列,直 ...

最新文章

  1. 16款小米新品,刚刚雷军只发了5款
  2. python统计excel中重复数据_EXCEL公式解读:统计不重复个数
  3. django第三次(转自刘江)
  4. LeetCode-剑指 Offer 53 - I. 在排序数组中查找数字 I
  5. 多种脚本语言生成九九乘法口诀表
  6. linux实验三shell程序设计,实验三 LINUX SHELL编程
  7. 12.04 深圳站 | Serverless Developer Meetup 开放报名
  8. 多个iis的进程w3wp
  9. 上海理工大学第二届“联想杯”全国程序设计邀请赛 - Little Witch Academia(矩阵快速幂)
  10. 两数相加Python解法
  11. 传图识字java_Java:全面 清晰的 NIO 学习攻略
  12. C#/VB.NET 复制Excel中的指定单元格区域
  13. 解决CHROME中画布中无法显示图片的方法
  14. sql基本语句返回值类型
  15. HCIP-Cloud Service Solutions Architect
  16. 统计学习方法第二版pdf_notability笔记pdf版乱码解决方法
  17. Delphi Android 下的定时对话框
  18. oh my zsh 的alias文件
  19. 8255A的控制字和C口状态字
  20. php引用传递_php的按值传递与引用传递 - 小俊学习网

热门文章

  1. linux文件编程(3)—— main函数传参、myCp(配置成环境变量)、修改配置文件、整数和结构体数组写到文件
  2. jsp jdbc mysql增删改查_使用JSP+SERVLET+JDBC实现对数据库的增删改查(详细)
  3. android的帧布局,七、Android帧布局FrameLayout和霓虹灯效果
  4. 线程NEW状态和RUNNABLE状态
  5. 线程池和线程详细教程
  6. 判断不为空和不为空串的方法java
  7. Java中三种Set的实现类的用法和区别
  8. APP技巧:推荐6款超级实用的APP软件,赶快下载试试吧!
  9. 软件:分享9款实用电脑软件,值得看一看
  10. 计算机安全基础:加密技术知识笔记