php用两个栈来实现队列
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用两个栈来实现队列相关推荐
- 多态指针访问虚函数不能被继承的类快速排序N皇后问题插入排序堆排序merge归并排序栈上生成对象两个栈实现一个队列...
多态 /*1. 要想实现覆盖(重写)父类必须声明为virtual,子类可以不声明为virtual.-->FunB()2. 派生类重写基类的虚函数实现多态,要求函数名.参数列表.返回值完全相同.( ...
- 【剑指offer】用两个栈实现一个队列
题目:两个栈实现一个队列. 栈的特点:先进后出,队列的特点是先进先出 思路:stack1放入数据:pop时,先判断stack2是否为空,如果不为空,直接pop,如果空,则push(stack1.pop ...
- 剑指offer五:两个栈实现一个队列
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. package com.jianzhioffer;import java.util.Stack;publ ...
- 两个栈实现一个队列,两个队列实现一个栈
题目:用两个栈实现一个队列,用两个队列实现一个栈. 首先要了解栈和队列这两种数据结构各自的特点,栈是一种后入先出(Last In First Out,LIFO)的数据结构,队列是一种先进先出(Firs ...
- python 用两个栈实现一个队列
| 两个栈实现队列 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能.(若队列中没有元素 ...
- java实现-两个栈实现一个队列和两个队列实现一个栈
1.两个栈实现一个队列 思路:压入元素直接入stack1,删除元素先判断stack2中是否为空,如果不为空直接弹出:为空则将stack1中的元素取出压入 stack2中再弹出. 代码: import ...
- python ——两个队列实现一个栈两个栈实现一个队列
1.两个队列实现一个栈 进栈:元素入队列A 出栈:判断如果队列A只有一个元素,则直接出队.否则,把队A中的元素出队并入队B,直到队A中只有一个元素,再直接出队.为了下一次继续操作,互换队A和队B. p ...
- 两个栈实现一个队列与两个队列实现一个栈
http://blog.csdn.net/z84616995z/article/details/19204529 两个栈实现一个队列: 原理方法:用一个栈为主栈,一个栈为辅助栈存放临时元素. 入队:将 ...
- 【数据结构】(面试题)使用两个栈实现一个队列(详细介绍)
http://blog.csdn.net/hanjing_1995/article/details/51539578 使用两个栈实现一个队列 思路一: 我们设定s1是入栈的,s2是出栈的. 入队列,直 ...
最新文章
- 16款小米新品,刚刚雷军只发了5款
- python统计excel中重复数据_EXCEL公式解读:统计不重复个数
- django第三次(转自刘江)
- LeetCode-剑指 Offer 53 - I. 在排序数组中查找数字 I
- 多种脚本语言生成九九乘法口诀表
- linux实验三shell程序设计,实验三 LINUX SHELL编程
- 12.04 深圳站 | Serverless Developer Meetup 开放报名
- 多个iis的进程w3wp
- 上海理工大学第二届“联想杯”全国程序设计邀请赛 - Little Witch Academia(矩阵快速幂)
- 两数相加Python解法
- 传图识字java_Java:全面 清晰的 NIO 学习攻略
- C#/VB.NET 复制Excel中的指定单元格区域
- 解决CHROME中画布中无法显示图片的方法
- sql基本语句返回值类型
- HCIP-Cloud Service Solutions Architect
- 统计学习方法第二版pdf_notability笔记pdf版乱码解决方法
- Delphi Android 下的定时对话框
- oh my zsh 的alias文件
- 8255A的控制字和C口状态字
- php引用传递_php的按值传递与引用传递 - 小俊学习网
热门文章
- linux文件编程(3)—— main函数传参、myCp(配置成环境变量)、修改配置文件、整数和结构体数组写到文件
- jsp jdbc mysql增删改查_使用JSP+SERVLET+JDBC实现对数据库的增删改查(详细)
- android的帧布局,七、Android帧布局FrameLayout和霓虹灯效果
- 线程NEW状态和RUNNABLE状态
- 线程池和线程详细教程
- 判断不为空和不为空串的方法java
- Java中三种Set的实现类的用法和区别
- APP技巧:推荐6款超级实用的APP软件,赶快下载试试吧!
- 软件:分享9款实用电脑软件,值得看一看
- 计算机安全基础:加密技术知识笔记